Update series to current dev version
authorMyhailo Danylenko <isbear@ukrpost.net>
Wed, 12 Nov 2014 23:04:36 +0200
changeset 87 78238d26911a
parent 86 ac5fed257211
child 88 0a87df8ad9c1
Update series to current dev version * old changes * refresh patches * add update-uk-translation.diff * add fix-compilation-warning.diff * add fix-changelog-api.diff * temporarily deactivate timeformat patches * new experimental versions 42/43
add-cmake.diff
add-offline-message.diff
automake-fix-deprecated-macro.diff
cmdopts.diff
fix-changelog-api.diff
fix-compilation-warning.diff
fix-date-fill.diff
fix-set-status-rc-xa.diff
guard-xmpp-password.diff
modularize-extcmd.diff
roster-state-colors.diff
round-high-priority.diff
separate-extcmd.diff
series
switch-to-experimental.diff
timeformat.diff
update-uk-translation.diff
use-gslice.diff
use-otr-v4.diff
--- a/add-cmake.diff	Wed May 15 13:32:42 2013 +0300
+++ b/add-cmake.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,19 +1,20 @@
 # HG changeset patch
-# Parent 19a36ac5d0b55244c4b3bdef8cb6f98874a9d961
-[work-in-progress] Add possibility to build with CMake
+# Parent 386f3b8646a61ba6af61609ff67f2da2cc70251e
+Add possibility to build with CMake
 
-diff -r 19a36ac5d0b5 .hgignore
---- a/.hgignore	Sun Jan 13 06:17:13 2013 +0200
-+++ b/.hgignore	Sun Jan 13 06:40:40 2013 +0200
-@@ -34,3 +34,5 @@
+diff --git a/.hgignore b/.hgignore
+--- a/.hgignore
++++ b/.hgignore
+@@ -36,3 +36,5 @@
  tags
  mcabber/ptodo
  mcabber/ppatches
 +
 +mcabber/build
-diff -r 19a36ac5d0b5 mcabber/CMakeLists.txt
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/CMakeLists.txt	Sun Jan 13 06:40:40 2013 +0200
+diff --git a/mcabber/CMakeLists.txt b/mcabber/CMakeLists.txt
+new file mode 100644
+--- /dev/null
++++ b/mcabber/CMakeLists.txt
 @@ -0,0 +1,303 @@
 +## Copyright 2010-2012 Myhailo Danylenko
 +# This file is part of mcabber.
@@ -38,7 +39,6 @@
 +## User settable options
 +option ( ENABLE_DEBUG    "Enable debugging output"                       OFF ) # XXX is it really used?
 +option ( USE_SIGWINCH    "Compile with SIGWINCH handler"                 OFF )
-+option ( XEP0022         "Enable obsolete Message Events (XEP-0022)"     OFF ) # + XEP0085?
 +option ( MODULES_ENABLE  "Enable dynamic module loading"                 ON  )
 +option ( WANT_LIBIDN     "Compile with libidn support"                   ON  )
 +option ( WANT_GPGME      "Compile with PGP support (libgpgme required)"  ON  )
@@ -84,8 +84,10 @@
 +pkg_check_modules ( LM REQUIRED loudmouth-1.0>=1.4.2 )
 +set ( CMAKE_REQUIRED_INCLUDES  ${LM_INCLUDE_DIRS}         )
 +set ( CMAKE_REQUIRED_LIBRARIES ${LM_LIBRARIES}            )
-+set ( CMAKE_REQUIRESD_FLAGS    ${LM_LDFLAGS} ${LM_CFLAGS} )
++set ( CMAKE_REQUIRED_FLAGS    ${LM_LDFLAGS} ${LM_CFLAGS} )
 +check_symbol_exists ( lm_connection_unregister_reply_handler "loudmouth/loudmouth.h" HAVE_LM_CONNECTION_UNREGISTER_REPLY_HANDLER )
++check_symbol_exists ( lm_ssl_set_cipher_list                 "loudmouth/loudmouth.h" HAVE_LM_SSL_CIPHER_LIST                     )
++check_symbol_exists ( lm_ssl_set_ca                          "loudmouth/loudmouth.h" HAVE_LM_SSL_CA                              )
 +
 +# Libidn
 +if ( WANT_LIBIDN )
@@ -178,7 +180,7 @@
 +
 +## Define targets
 +set ( mcabber_SUBSYSTEMS
-+	caps commands compl events hbuf help histolog hooks
++	caps carbons commands compl events hbuf help histolog hooks
 +	modules nohtml otr pgp roster screen settings utf8 utils
 +	xmpp xmpp_helper xmpp_iq xmpp_iqrequest xmpp_muc xmpp_s10n )
 +if ( NOT MODULES_ENABLE )
@@ -199,7 +201,7 @@
 +if ( MODULES_ENABLE )
 +	add_library ( beep      MODULE modules/beep/beep.c                          )
 +	add_library ( eventcmd  MODULE modules/eventcmd/eventcmd.c mcabber/extcmd.c )
-+	add_library ( fifo      MODULE modules/fifo/fifo_module.c mcabber/fifo.c    )
++	add_library ( fifo      MODULE modules/fifo/fifo.c mcabber/fifo_internal.c  )
 +	add_library ( urlregex  MODULE modules/urlregex/urlregex.c                  )
 +	add_library ( xttitle   MODULE modules/xttitle/xttitle.c                    )
 +endif ()
@@ -228,17 +230,16 @@
 +					    ${PANEL_LIBRARIES}
 +						${GPGME_LIBRARIES}
 +						${LIBOTR_LIBRARIES} )
-+target_link_libraries ( fifo
-+                        ${GLIB_LIBRARIES} )
-+target_link_libraries ( eventcmd
-+                        ${GLIB_LIBRARIES} )
-+target_link_libraries ( xttitle
-+                        ${GLIB_LIBRARIES} )
++if ( MODULES_ENABLE )
++	target_link_libraries ( fifo     ${GLIB_LIBRARIES} )
++	target_link_libraries ( eventcmd ${GLIB_LIBRARIES} )
++	target_link_libraries ( xttitle  ${GLIB_LIBRARIES} )
++endif ()
 +include_directories ( ${mcabber_SOURCE_DIR}
-+                      ${mcabber_BINARY_DIR}/include
++					  ${mcabber_BINARY_DIR}/include
 +					  ${mcabber_BINARY_DIR}/include/mcabber )
 +set_target_properties ( mcabber PROPERTIES
-+					    COMPILE_FLAGS "-Wall ${GPGME_CFLAGS} -D_GNU_SOURCE" )
++						COMPILE_FLAGS "-Wall ${GPGME_CFLAGS} -D_GNU_SOURCE" )
 +
 +## Extra targets
 +if ( HAVE_LATEX )
@@ -318,10 +319,11 @@
 +endif ()
 +
 +## The End ## vim: se ts=4 sw=4: ##
-diff -r 19a36ac5d0b5 mcabber/config.h.in
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/config.h.in	Sun Jan 13 06:40:40 2013 +0200
-@@ -0,0 +1,51 @@
+diff --git a/mcabber/config.h.in b/mcabber/config.h.in
+new file mode 100644
+--- /dev/null
++++ b/mcabber/config.h.in
+@@ -0,0 +1,53 @@
 +/* help @help.c */
 +#define DATA_DIR                      "@DATA_DIR@"
 +/* conditional @main.c */ /* does it have any effect really? */
@@ -330,6 +332,8 @@
 +#cmakedefine ENABLE_HGCSET            @ENABLE_HGCSET@
 +/* @xmpp.c */
 +#cmakedefine HAVE_ARC4RANDOM          @HAVE_ARC4RANDOM@
++#cmakedefine HAVE_LM_SSL_CIPHER_LIST  @HAVE_LM_SSL_CIPHER_LIST@
++#cmakedefine HAVE_LM_SSL_CA           @HAVE_LM_SSL_CA@
 +/* @screen.c */
 +#cmakedefine HAVE_ESCDELAY            @HAVE_ESCDELAY@
 +/* alot */
@@ -370,13 +374,13 @@
 +/* spelling */
 +#cmakedefine WITH_ASPELL              @WITH_ASPELL@
 +#cmakedefine WITH_ENCHANT             @WITH_ENCHANT@
-+/* option, also XEP0085? */
-+#cmakedefine XEP0022                  @XEP0022@
++/* unused, but helpful for modules */
++/* #cmakedefine HAVE_LM_CONNECTION_UNREGISTER_REPLY_HANDLER @HAVE_LM_CONNECTION_UNREGISTER_REPLY_HANDLER@ */
 +/* end */
-diff -r 19a36ac5d0b5 mcabber/configure.ac
---- a/mcabber/configure.ac	Sun Jan 13 06:17:13 2013 +0200
-+++ b/mcabber/configure.ac	Sun Jan 13 06:40:40 2013 +0200
-@@ -35,9 +35,8 @@
+diff --git a/mcabber/configure.ac b/mcabber/configure.ac
+--- a/mcabber/configure.ac
++++ b/mcabber/configure.ac
+@@ -36,9 +36,8 @@
  
  # Checks for header files.
  AC_HEADER_STDC
@@ -388,7 +392,7 @@
  AC_CHECK_HEADERS([unistd.h], , AC_MSG_ERROR([Missing header file]))
  AC_VAR_TIMEZONE_EXTERNALS
  
-@@ -58,10 +57,8 @@
+@@ -59,10 +58,8 @@
  AC_TYPE_SIGNAL
  AC_FUNC_STRFTIME
  AC_FUNC_VPRINTF
@@ -401,22 +405,25 @@
  
  
  AC_CHECK_DECLS([strptime],,,
-diff -r 19a36ac5d0b5 mcabber/hgcset.h.in
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/hgcset.h.in	Sun Jan 13 06:40:40 2013 +0200
+diff --git a/mcabber/hgcset.h.in b/mcabber/hgcset.h.in
+new file mode 100644
+--- /dev/null
++++ b/mcabber/hgcset.h.in
 @@ -0,0 +1,3 @@
 +/* this can go to config.h */
 +#define HGCSET "@HGCSET@"
 +/* end */
-diff -r 19a36ac5d0b5 mcabber/mcabber.menu.in
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber.menu.in	Sun Jan 13 06:40:40 2013 +0200
+diff --git a/mcabber/mcabber.menu.in b/mcabber/mcabber.menu.in
+new file mode 100644
+--- /dev/null
++++ b/mcabber/mcabber.menu.in
 @@ -0,0 +1,2 @@
 +?package(mcabber):needs="text" section="Applications/Network/Communication"\
 +  title="mcabber" command="@CMAKE_INSTALL_PREFIX@/bin/mcabber"
-diff -r 19a36ac5d0b5 mcabber/mcabber.pc.in.in
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber.pc.in.in	Sun Jan 13 06:40:40 2013 +0200
+diff --git a/mcabber/mcabber.pc.in.in b/mcabber/mcabber.pc.in.in
+new file mode 100644
+--- /dev/null
++++ b/mcabber/mcabber.pc.in.in
 @@ -0,0 +1,14 @@
 +prefix=${CMAKE_INSTALL_PREFIX}
 +exec_prefix=$${EMPTY}{prefix}
@@ -432,3 +439,10 @@
 +Version:          @PROJECT_VERSION@
 +Libs: 
 +Cflags:           -I$${EMPTY}{includedir} @LIBOTR_CFLAGS@ @GPGME_CFLAGS@
+diff --git a/mcabber/mcabber/fifo.c b/mcabber/mcabber/fifo.c
+new file mode 120000
+--- /dev/null
++++ b/mcabber/mcabber/fifo.c
+@@ -0,0 +1,1 @@
++fifo_internal.c
+\ No newline at end of file
--- a/add-offline-message.diff	Wed May 15 13:32:42 2013 +0300
+++ b/add-offline-message.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,12 +1,25 @@
 # HG changeset patch
-# Parent 37d01f85c057d425e212e65765664561f470e047
+# Parent 99ffc1bfe836f0fe094e0a9e3564521a09b39458
 Allow to specify status message, when going offline
 
-diff -r 37d01f85c057 mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/ChangeLog.api	Wed May 15 12:53:03 2013 +0300
-@@ -1,3 +1,11 @@
+diff -r 99ffc1bfe836 mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/ChangeLog.api	Tue Nov 11 21:21:09 2014 +0200
+@@ -1,3 +1,10 @@
++experimental (44)
++
++ * experimental patch add-offline-message.diff
++ * xmpp_disconnect() now accepts status message
 +
++  -- Myhailo Danylenko, 2014-11-11
++
+ experimental (43)
+ 
+  * Change branch to "experimental".
+@@ -80,6 +87,13 @@
+ 
+   -- Mikael Berthe, 2013-09-29
+ 
 +experimental (42)
 +
 + * experimental patch add-offline-message.diff
@@ -17,7 +30,7 @@
  experimental (41)
  
   * Change branch to "experimental".
-@@ -16,6 +24,13 @@
+@@ -98,6 +112,13 @@
  
    -- Mikael Berthe, 2013-04-28
  
@@ -31,7 +44,7 @@
  experimental (39)
  
   * Change branch to "experimental".
-@@ -33,6 +48,13 @@
+@@ -115,6 +136,13 @@
  
    -- Mikael Berthe, 2012-11-28
  
@@ -45,7 +58,7 @@
  experimental (37)
  
   * Change branch to "experimental".
-@@ -51,6 +73,13 @@
+@@ -133,6 +161,13 @@
  
    -- Myhailo Danylenko, 2012-10-20
  
@@ -59,18 +72,18 @@
  experimental (35)
  
   * Change branch to "experimental".
-diff -r 37d01f85c057 mcabber/doc/help/cs/hlp.txt
---- a/mcabber/doc/help/cs/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/cs/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/cs/hlp.txt
+--- a/mcabber/doc/help/cs/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/cs/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Zobrazí nápovědu k příkazu nebo tématu.
  
--Dostupné příkazy jsou: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Dostupné příkazy jsou: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/cs/hlp_disconnect.txt
---- a/mcabber/doc/help/cs/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/cs/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Dostupné příkazy jsou: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Dostupné příkazy jsou: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/cs/hlp_disconnect.txt
+--- a/mcabber/doc/help/cs/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/cs/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -79,27 +92,27 @@
  Ukončí spojení s Jabber serverem.
 +You can specify status message to disconnect with.
  Poznámka: Seznam kontaktů (roster) je přístupný pouze v době, kdy je spojení aktivní. Po odpojení od serveru je proto prázdný.
-diff -r 37d01f85c057 mcabber/doc/help/cs/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/cs/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/cs/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/cs/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [message]
 +
 +Terminate all connections and exit mcabber.
 +This command is the same as /QUIT, but you can specify status message to exit with.
-diff -r 37d01f85c057 mcabber/doc/help/de/hlp.txt
---- a/mcabber/doc/help/de/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/de/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/de/hlp.txt
+--- a/mcabber/doc/help/de/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/de/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Zeigt die Hilfe zu einem Befehl oder ein Thema an.
  Wenn kein Argument gegeben ist, wird diese Hilfe angezeigt.
--Verfügbare Befehle: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Verfügbare Befehle: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/de/hlp_disconnect.txt
---- a/mcabber/doc/help/de/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/de/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Verfügbare Befehle: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Verfügbare Befehle: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/de/hlp_disconnect.txt
+--- a/mcabber/doc/help/de/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/de/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -108,27 +121,27 @@
  Die Verbindung zum Jabber Server trennen.
 +You can specify status message to disconnect with.
  Denke daran, dass der Roster nur verfügbar ist wenn man mit dem Jabber Server verbunden ist. Somit ist die Buddyliste auch leer, wenn man sich beim Server abmeldet.
-diff -r 37d01f85c057 mcabber/doc/help/de/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/de/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/de/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/de/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [message]
 +
 +Terminate all connections and exit mcabber.
 +This command is the same as /QUIT, but you can specify status message to exit with.
-diff -r 37d01f85c057 mcabber/doc/help/en/hlp.txt
---- a/mcabber/doc/help/en/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/en/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/en/hlp.txt
+--- a/mcabber/doc/help/en/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/en/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Display some help about a command or a topic.
  If no argument provided a usage of this command is printed.
--Available commands: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Available commands: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/en/hlp_disconnect.txt
---- a/mcabber/doc/help/en/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/en/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Available commands: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Available commands: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/en/hlp_disconnect.txt
+--- a/mcabber/doc/help/en/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/en/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -137,27 +150,27 @@
  Terminate the connection to the Jabber server.
 +You can specify status message to disconnect with.
  Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected.
-diff -r 37d01f85c057 mcabber/doc/help/en/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/en/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/en/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/en/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [message]
 +
 +Terminate all connections and exit mcabber.
 +This command is the same as /QUIT, but you can specify status message to exit with.
-diff -r 37d01f85c057 mcabber/doc/help/fr/hlp.txt
---- a/mcabber/doc/help/fr/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/fr/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/fr/hlp.txt
+--- a/mcabber/doc/help/fr/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/fr/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -2,4 +2,4 @@
   /HELP [commande|+sujet]
  
  Affiche de l'aide sur la commande ou le sujet demandé.
--Les commandes disponibles sont : add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Les commandes disponibles sont : add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/fr/hlp_disconnect.txt
---- a/mcabber/doc/help/fr/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/fr/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Les commandes disponibles sont : add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Les commandes disponibles sont : add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/fr/hlp_disconnect.txt
+--- a/mcabber/doc/help/fr/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/fr/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -166,27 +179,27 @@
  Ferme la connexion au serveur Jabber.
 +You can specify status message to disconnect with.
  Remarque : le roster n'est disponible que lorsque la connexion au serveur estactive, donc la liste de contacts est vide après déconnexion.
-diff -r 37d01f85c057 mcabber/doc/help/fr/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/fr/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/fr/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/fr/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [message]
 +
 +Terminate all connections and exit mcabber.
 +This command is the same as /QUIT, but you can specify status message to exit with.
-diff -r 37d01f85c057 mcabber/doc/help/it/hlp.txt
---- a/mcabber/doc/help/it/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/it/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/it/hlp.txt
+--- a/mcabber/doc/help/it/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/it/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Mostra l'help relativo a comando o ad argomento.
  Se non viene specificato alcun argomento, viene visualizzato l'utilizzo del comando corrente.
--I comandi disponibili sono: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+I comandi disponibili sono: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/it/hlp_disconnect.txt
---- a/mcabber/doc/help/it/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/it/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-I comandi disponibili sono: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++I comandi disponibili sono: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/it/hlp_disconnect.txt
+--- a/mcabber/doc/help/it/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/it/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -195,27 +208,27 @@
  Termina la connessione con il serve Jabber.
 +You can specify status message to disconnect with.
  Nota: il roster è disponibile soltanto quando la connessione è attiva, quindi la lista dei contatti è vuota quando si è disconnessi.
-diff -r 37d01f85c057 mcabber/doc/help/it/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/it/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/it/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/it/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [message]
 +
 +Terminate all connections and exit mcabber.
 +This command is the same as /QUIT, but you can specify status message to exit with.
-diff -r 37d01f85c057 mcabber/doc/help/nl/hlp.txt
---- a/mcabber/doc/help/nl/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/nl/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/nl/hlp.txt
+--- a/mcabber/doc/help/nl/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/nl/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Toon informatie over een commando of onderwerp.
  Als geen argument is meegegeven, wordt een tekst over het gebruik van dit commando getoond.
--Beschikbare commando's: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Beschikbare commando's: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/nl/hlp_disconnect.txt
---- a/mcabber/doc/help/nl/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/nl/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Beschikbare commando's: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Beschikbare commando's: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/nl/hlp_disconnect.txt
+--- a/mcabber/doc/help/nl/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/nl/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -224,27 +237,27 @@
  Beëindig de verbinding met de Jabber server.
 +You can specify status message to disconnect with.
  NB: het Roster is alleen beschikbaar indien er een actieve verbinding met de server bestaat. De buddylijst is dus leeg indien niet verbonden.
-diff -r 37d01f85c057 mcabber/doc/help/nl/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/nl/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/nl/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/nl/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [message]
 +
 +Terminate all connections and exit mcabber.
 +This command is the same as /QUIT, but you can specify status message to exit with.
-diff -r 37d01f85c057 mcabber/doc/help/pl/hlp.txt
---- a/mcabber/doc/help/pl/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/pl/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/pl/hlp.txt
+--- a/mcabber/doc/help/pl/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/pl/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Wyświetla pomoc dotyczącą danego polecenia lub tematu.
  Jeśli nie podano żadnego argumentu, zostanie wyświetlona pomoc o sposobie użycia.
--Dostępne polecenia: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Dostępne polecenia: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/pl/hlp_disconnect.txt
---- a/mcabber/doc/help/pl/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/pl/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Dostępne polecenia: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Dostępne polecenia: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/pl/hlp_disconnect.txt
+--- a/mcabber/doc/help/pl/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/pl/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -255,27 +268,27 @@
 \ No newline at end of file
 +You can specify status message to disconnect with.
 +Uwaga: roster dostępny jest tylko gdy połączenie do serwera jest aktywne, zatem jeżeli nie jesteś połączony lista kontaktów jest pusta.
-diff -r 37d01f85c057 mcabber/doc/help/pl/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/pl/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/pl/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/pl/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [message]
 +
 +Terminate all connections and exit mcabber.
 +This command is the same as /QUIT, but you can specify status message to exit with.
-diff -r 37d01f85c057 mcabber/doc/help/ru/hlp.txt
---- a/mcabber/doc/help/ru/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/ru/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/ru/hlp.txt
+--- a/mcabber/doc/help/ru/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/ru/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Отображает файл помощи о запрошенной команде или топике.
  Если выполнить без аргументов, будут отображены допустимые команды.
--Допустимые команды: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Допустимые команды: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/ru/hlp_disconnect.txt
---- a/mcabber/doc/help/ru/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/ru/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Допустимые команды: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Допустимые команды: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/ru/hlp_disconnect.txt
+--- a/mcabber/doc/help/ru/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/ru/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -284,9 +297,9 @@
  Завершает соединение с Jabber-сервером.
 +Вы можете указать сообщение статуса при выходе.
  Примечание: список контактов доступен только когда соединение с сервером активно, поэтому список контактов пуст при завершении соединения.
-diff -r 37d01f85c057 mcabber/doc/help/ru/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/ru/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/ru/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/ru/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,6 @@
 +
 + /EXIT [сообщение]
@@ -294,18 +307,18 @@
 +
 +Эта команда завершает все активные соединения и выходит из mcabber`а.
 +Отличается от /QUIT тем, что позволяет указать сообщение статуса при выходе.
-diff -r 37d01f85c057 mcabber/doc/help/uk/hlp.txt
---- a/mcabber/doc/help/uk/hlp.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/uk/hlp.txt	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/doc/help/uk/hlp.txt
+--- a/mcabber/doc/help/uk/hlp.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/uk/hlp.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -3,4 +3,4 @@
  
  Друкує допоміжну інформацію про команду або вираз.
  Без аргументу друкує оце повідомлення.
--Наявні команди: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-+Наявні команди: add, alias, authorization, bind, buffer, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
-diff -r 37d01f85c057 mcabber/doc/help/uk/hlp_disconnect.txt
---- a/mcabber/doc/help/uk/hlp_disconnect.txt	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/doc/help/uk/hlp_disconnect.txt	Wed May 15 12:53:03 2013 +0300
+-Наявні команди: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
++Наявні команди: add, alias, authorization, bind, buffer, carbons, chat_disable, clear, color, connect, del, disconnect, echo, event, exit, group, help, iline, info, module, move, msay, otr, otrpolicy, pgp, quit, rawxml, rename, request, room, roster, say_to, say, screen_refresh, set, source, status_to, status, version.
+diff -r 99ffc1bfe836 mcabber/doc/help/uk/hlp_disconnect.txt
+--- a/mcabber/doc/help/uk/hlp_disconnect.txt	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/doc/help/uk/hlp_disconnect.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -1,5 +1,6 @@
  
 - /DISCONNECT
@@ -314,41 +327,41 @@
  Розірвати з'єднання з сервером.
 +Ви можете вказати повідомлення статусу відсутності.
  Майте на увазі, що список контактів зберігається на сервері, отож після від'єднання ви його більше не побачите.
-diff -r 37d01f85c057 mcabber/doc/help/uk/hlp_exit.txt
+diff -r 99ffc1bfe836 mcabber/doc/help/uk/hlp_exit.txt
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/help/uk/hlp_exit.txt	Wed May 15 12:53:03 2013 +0300
++++ b/mcabber/doc/help/uk/hlp_exit.txt	Tue Nov 11 21:21:09 2014 +0200
 @@ -0,0 +1,5 @@
 +
 + /EXIT [повідомлення]
 +
 +Закриває всі з’єднання та завершує мкаббер.
 +Відмінність цієї команди від /QUIT у тому, що ви можете вказати повідомлення статусу відсутності.
-diff -r 37d01f85c057 mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/mcabber/api.h	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/mcabber/api.h	Tue Nov 11 21:21:09 2014 +0200
 @@ -4,8 +4,8 @@
  #include <glib.h>
  #include <mcabber/config.h> // For MCABBER_BRANCH
  
--#define MCABBER_API_VERSION 41
--#define MCABBER_API_MIN     41
-+#define MCABBER_API_VERSION 42
-+#define MCABBER_API_MIN     42
-  
+-#define MCABBER_API_VERSION 43
+-#define MCABBER_API_MIN     43
++#define MCABBER_API_VERSION 44
++#define MCABBER_API_MIN     44
+ 
  #define MCABBER_BRANCH_EXPERIMENTAL 1
  
-diff -r 37d01f85c057 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/mcabber/commands.c	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/mcabber/commands.c	Tue Nov 11 21:21:09 2014 +0200
 @@ -94,6 +94,7 @@
- static void do_otrpolicy(char *arg);
  static void do_echo(char *arg);
  static void do_module(char *arg);
+ static void do_carbons(char *arg);
 +static void do_exit(char *arg);
  
  static void room_bookmark(gpointer bud, char *arg);
  
-@@ -199,6 +200,7 @@
+@@ -201,6 +202,7 @@
    cmd_add("echo", "Display a string in the log window", 0, 0, &do_echo, NULL);
    cmd_add("event", "Process an event", COMPL_EVENTSID, COMPL_EVENTS, &do_event,
            NULL);
@@ -356,7 +369,7 @@
    cmd_add("group", "Change group display settings",
            COMPL_GROUP, COMPL_GROUPNAME, &do_group, NULL);
    cmd_add("help", "Display some help", COMPL_CMD, 0, &do_help, NULL);
-@@ -4135,7 +4137,9 @@
+@@ -4170,7 +4172,9 @@
  
  static void do_disconnect(char *arg)
  {
@@ -367,8 +380,8 @@
  }
  
  static void do_help(char *arg)
-@@ -4149,4 +4153,14 @@
-     scr_print_logwindow(arg);
+@@ -4197,4 +4201,14 @@
+   }
  }
  
 +static void do_exit(char *arg)
@@ -382,9 +395,9 @@
 +}
 +
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r 37d01f85c057 mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/mcabber/main.c	Wed May 15 12:53:03 2013 +0300
+diff -r 99ffc1bfe836 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/mcabber/main.c	Tue Nov 11 21:21:09 2014 +0200
 @@ -91,7 +91,7 @@
  #ifndef MODULES_ENABLE
    fifo_deinit();
@@ -394,7 +407,7 @@
    scr_terminate_curses();
  
    // Restore term settings, if needed.
-@@ -524,7 +524,7 @@
+@@ -513,7 +513,7 @@
  #ifdef HAVE_LIBOTR
    otr_terminate();
  #endif
@@ -403,10 +416,10 @@
  #ifdef HAVE_GPGME
    gpg_terminate();
  #endif
-diff -r 37d01f85c057 mcabber/mcabber/settings.c
---- a/mcabber/mcabber/settings.c	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/mcabber/settings.c	Wed May 15 12:53:03 2013 +0300
-@@ -372,7 +372,12 @@
+diff -r 99ffc1bfe836 mcabber/mcabber/settings.c
+--- a/mcabber/mcabber/settings.c	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/mcabber/settings.c	Tue Nov 11 21:21:09 2014 +0200
+@@ -371,7 +371,12 @@
  // - if no message is found, return NULL
  const gchar *settings_get_status_msg(enum imstatus status)
  {
@@ -420,7 +433,7 @@
  
    if (rstatus) return rstatus;
  
-@@ -397,7 +402,7 @@
+@@ -396,7 +401,7 @@
          rstatus = settings_opt_get("message_away");
          break;
  
@@ -429,10 +442,10 @@
          break;
    }
    return rstatus;
-diff -r 37d01f85c057 mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/mcabber/xmpp.c	Wed May 15 12:53:03 2013 +0300
-@@ -884,7 +884,7 @@
+diff -r 99ffc1bfe836 mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/mcabber/xmpp.c	Tue Nov 11 21:21:09 2014 +0200
+@@ -771,7 +771,7 @@
  
  static void _try_to_reconnect(void)
  {
@@ -441,16 +454,16 @@
    if (AutoConnection)
      g_timeout_add_seconds(RECONNECTION_TIMEOUT + (random() % 90L),
                            xmpp_reconnect, NULL);
-@@ -1830,7 +1830,7 @@
+@@ -1734,7 +1734,7 @@
    LmMessageHandler *handler;
    GError *error = NULL;
  
 -  xmpp_disconnect();
 +  xmpp_disconnect(NULL);
  
-   servername = settings_opt_get("server");
-   userjid    = settings_opt_get("jid");
-@@ -2003,7 +2003,7 @@
+   servername  = settings_opt_get("server");
+   userjid     = settings_opt_get("jid");
+@@ -1915,7 +1915,7 @@
    lm_message_node_set_attribute(y, "ver", ver);
  }
  
@@ -459,7 +472,7 @@
  {
    if (!lconnection)
      return;
-@@ -2011,7 +2011,7 @@
+@@ -1923,7 +1923,7 @@
      // Launch pre-disconnect internal hook
      hk_predisconnect();
      // Announce it to  everyone else
@@ -468,10 +481,10 @@
    }
    if (lm_connection_is_open(lconnection))
      lm_connection_close(lconnection, NULL);
-diff -r 37d01f85c057 mcabber/mcabber/xmpp.h
---- a/mcabber/mcabber/xmpp.h	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/mcabber/xmpp.h	Wed May 15 12:53:03 2013 +0300
-@@ -37,7 +37,7 @@
+diff -r 99ffc1bfe836 mcabber/mcabber/xmpp.h
+--- a/mcabber/mcabber/xmpp.h	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/mcabber/xmpp.h	Tue Nov 11 21:21:09 2014 +0200
+@@ -38,7 +38,7 @@
  
  void xmpp_init(void); /* private */
  int  xmpp_connect(void);
@@ -480,10 +493,10 @@
  gboolean xmpp_is_online(void);
  
  void xmpp_room_join(const char *room, const char *nickname, const char *passwd);
-diff -r 37d01f85c057 mcabber/mcabberrc.example
---- a/mcabber/mcabberrc.example	Wed May 15 12:52:17 2013 +0300
-+++ b/mcabber/mcabberrc.example	Wed May 15 12:53:03 2013 +0300
-@@ -366,6 +366,9 @@
+diff -r 99ffc1bfe836 mcabber/mcabberrc.example
+--- a/mcabber/mcabberrc.example	Tue Nov 11 21:12:47 2014 +0200
++++ b/mcabber/mcabberrc.example	Tue Nov 11 21:21:09 2014 +0200
+@@ -371,6 +371,9 @@
  #set message_notavail  = I'm not available
  #set message_away      = I'm away
  #
--- a/automake-fix-deprecated-macro.diff	Wed May 15 13:32:42 2013 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-# HG changeset patch
-# Parent 163fb7b56e26b914c31f34059011dbde78666536
-Fix deprecated AM_CONFIG_HEADER
-
-diff -r 163fb7b56e26 -r 651a27690961 mcabber/configure.ac
---- a/mcabber/configure.ac	Sun Jan 06 09:48:27 2013 +0530
-+++ b/mcabber/configure.ac	Sat Jan 12 18:00:08 2013 +0200
-@@ -5,8 +5,7 @@
- AC_INIT([mcabber],[0.10.3-dev],[mcabber@lilotux.net])
- AM_INIT_AUTOMAKE
- AC_CONFIG_SRCDIR([mcabber])
--AM_CONFIG_HEADER(mcabber/config.h)
--AC_CONFIG_HEADER(include/config.h)
-+AC_CONFIG_HEADERS([mcabber/config.h include/config.h])
- 
- AC_PROG_LIBTOOL
- AC_PROG_RANLIB
--- a/cmdopts.diff	Wed May 15 13:32:42 2013 +0300
+++ b/cmdopts.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent 1b0b563a81e6425da07c1da7ea4f947c4f3326cb
+# Parent 7a77fde8f7eea66ad121440646e1ffb63ad82749
 [work-in-progress] Unified command option parsing
 
   * complete change of commands.h interface
@@ -40,9 +40,9 @@
   * misc:
     * fix help for /buffer date
 
-diff -r 1b0b563a81e6 mcabber/doc/HOWTO_commands.mdwn
+diff -r 7a77fde8f7ee mcabber/doc/HOWTO_commands.mdwn
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/doc/HOWTO_commands.mdwn	Wed May 15 12:48:30 2013 +0300
++++ b/mcabber/doc/HOWTO_commands.mdwn	Thu Aug 22 00:44:41 2013 +0300
 @@ -0,0 +1,977 @@
 +
 +**New commands interface for MCabber**
@@ -1021,9 +1021,9 @@
 +add your argument type to built-in types.
 +
 +<!-- vim: se ts=4 sw=4 et filetype=markdown tw=80: -->
-diff -r 1b0b563a81e6 mcabber/doc/help/cs/hlp_buffer.txt
---- a/mcabber/doc/help/cs/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/cs/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/cs/hlp_buffer.txt
+--- a/mcabber/doc/help/cs/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/cs/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Přesune se o [n] řádků nahoru (výchozí: polovina obrazovky).
  /buffer down [n]
@@ -1033,18 +1033,18 @@
   Přesune se na první řádek po datu [datum] (formát: "RRRR-mm-dd").
  /buffer % n
   Přesune se na procentuální pozici n%.
-diff -r 1b0b563a81e6 mcabber/doc/help/cs/hlp_del.txt
---- a/mcabber/doc/help/cs/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/cs/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/cs/hlp_del.txt
+--- a/mcabber/doc/help/cs/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/cs/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
 + /DEL [-n|--dryrun] [jid]
  
  Smaže aktuální kontakt ze seznamu kontaktů (rosteru) a zruší povolení oznamování o stavu daného kontaktu (autorizaci) na obou stranách.
-diff -r 1b0b563a81e6 mcabber/doc/help/cs/hlp_move.txt
---- a/mcabber/doc/help/cs/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/cs/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/cs/hlp_move.txt
+--- a/mcabber/doc/help/cs/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/cs/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,5 +1,6 @@
  
 - /MOVE [skupina]
@@ -1053,9 +1053,9 @@
  Přesune aktuální kontakt do požadované skupiny. Není-li skupina zadána, přesune se kontakt do výchozí skupiny. Pokud skupina neexistuje, automaticky se založí.
 +You can select other buddy that current using options --jid and --name.
  Tip: V módu rozhovoru lze použít "/roster alternate" pro skok na přesunutý kontakt.
-diff -r 1b0b563a81e6 mcabber/doc/help/cs/hlp_rename.txt
---- a/mcabber/doc/help/cs/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/cs/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/cs/hlp_rename.txt
+--- a/mcabber/doc/help/cs/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/cs/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME jméno
@@ -1065,9 +1065,9 @@
 +Přejmenuje aktuálního uživatele nebo skupinu na 'jméno'.
 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
 +Optionally you can use one of --jid, --group or --name to select object, different from current.
-diff -r 1b0b563a81e6 mcabber/doc/help/de/hlp_buffer.txt
---- a/mcabber/doc/help/de/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/de/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/de/hlp_buffer.txt
+--- a/mcabber/doc/help/de/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/de/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Scrollt den Puffer um n Zeilen hoch. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
  /buffer down [n]
@@ -1077,18 +1077,18 @@
   Springe zu der ersten Zeile nach dem Datum, welches im Format "JJJJ-mm-tt" anstatt [date] angegeben werden muss
  /buffer % n
   Springe zur Position "n" im Chatpuffer
-diff -r 1b0b563a81e6 mcabber/doc/help/de/hlp_del.txt
---- a/mcabber/doc/help/de/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/de/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/de/hlp_del.txt
+--- a/mcabber/doc/help/de/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/de/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
 + /DEL [-n|--dryrun] [jid]
  
  Löscht den gerade ausgewählten Buddy vom Roster. Außerdem werden die automatischen Presence Benachrichtigungen vom/zum Buddy gestoppt.
-diff -r 1b0b563a81e6 mcabber/doc/help/de/hlp_move.txt
---- a/mcabber/doc/help/de/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/de/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/de/hlp_move.txt
+--- a/mcabber/doc/help/de/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/de/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,6 +1,7 @@
  
 - /MOVE [groupname]
@@ -1098,9 +1098,9 @@
 +You can select other buddy that current using options --jid and --name.
  
  Tipp: Wenn der Chatmodus aktiviert ist, kannst du "/roster alternate" benutzen um zu dem gerade bewegten Buddy zu springen.
-diff -r 1b0b563a81e6 mcabber/doc/help/de/hlp_rename.txt
---- a/mcabber/doc/help/de/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/de/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/de/hlp_rename.txt
+--- a/mcabber/doc/help/de/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/de/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME name
@@ -1110,9 +1110,9 @@
 +Setzt den Namen des gerade ausgewählten Buddys bzw. der ausgewählten Gruppe auf "name".
 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
 +Optionally you can use one of --jid, --group or --name to select object, different from current.
-diff -r 1b0b563a81e6 mcabber/doc/help/en/hlp_buffer.txt
---- a/mcabber/doc/help/en/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/en/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/en/hlp_buffer.txt
+--- a/mcabber/doc/help/en/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/en/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Scroll the buffer up [n] lines (default: half a screen)
  /buffer down [n]
@@ -1122,9 +1122,9 @@
   Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
  /buffer % n
   Jump to position %n of the buddy chat buffer
-diff -r 1b0b563a81e6 mcabber/doc/help/en/hlp_del.txt
---- a/mcabber/doc/help/en/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/en/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/en/hlp_del.txt
+--- a/mcabber/doc/help/en/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/en/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
@@ -1132,9 +1132,9 @@
  
 -Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
 +Delete the current buddy or one, specified with [jid] from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
-diff -r 1b0b563a81e6 mcabber/doc/help/en/hlp_move.txt
---- a/mcabber/doc/help/en/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/en/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/en/hlp_move.txt
+--- a/mcabber/doc/help/en/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/en/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,5 +1,6 @@
  
 - /MOVE [groupname]
@@ -1143,9 +1143,9 @@
  Move the current buddy to the requested group.  If no group is specified, then the buddy is moved to the default group.  If the group "groupname" doesn't exist, it is created.
 +You can select other buddy that current using options --jid and --name.
  Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
-diff -r 1b0b563a81e6 mcabber/doc/help/en/hlp_rename.txt
---- a/mcabber/doc/help/en/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/en/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/en/hlp_rename.txt
+--- a/mcabber/doc/help/en/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/en/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME name
@@ -1155,9 +1155,9 @@
 +Rename the current buddy or group to the given "newname".
 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
 +Optionally you can use one of --jid, --group or --name to select object, different from current.
-diff -r 1b0b563a81e6 mcabber/doc/help/fr/hlp_buffer.txt
---- a/mcabber/doc/help/fr/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/fr/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/fr/hlp_buffer.txt
+--- a/mcabber/doc/help/fr/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/fr/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Défile vers le haut de [n] lignes (par défaut un demi écran)
  /buffer down [n]
@@ -1167,18 +1167,18 @@
   Va à la première ligne après la [date] dans le tampon actuel (format: "aaaa-mm-jj")
  /buffer % n
   Va à la position n% du tampon
-diff -r 1b0b563a81e6 mcabber/doc/help/fr/hlp_del.txt
---- a/mcabber/doc/help/fr/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/fr/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/fr/hlp_del.txt
+--- a/mcabber/doc/help/fr/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/fr/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
 + /DEL [-n|--dryrun] [jid]
  
  Supprime le contact sélectionné du roster, supprime notre abonnement à ses notifications de présence et supprime son abonnement aux nôtres.
-diff -r 1b0b563a81e6 mcabber/doc/help/fr/hlp_move.txt
---- a/mcabber/doc/help/fr/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/fr/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/fr/hlp_move.txt
+--- a/mcabber/doc/help/fr/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/fr/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,5 +1,6 @@
  
 - /MOVE [groupname]
@@ -1187,9 +1187,9 @@
  Déplace le contact sélectionné vers le groupe spécifié. Si aucun groupe n'est donné, le contact est déplacé vers le groupe par défaut. Si le groupe "groupname" n'existe pas, il est créé.
 +You can select other buddy that current using options --jid and --name.
  Astuce : si le mode discussion (chatmode) est activé, vous pouvez utiliser "/roster alternate" pour vous positionner sur le contact que vous venez de déplacer.
-diff -r 1b0b563a81e6 mcabber/doc/help/fr/hlp_rename.txt
---- a/mcabber/doc/help/fr/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/fr/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/fr/hlp_rename.txt
+--- a/mcabber/doc/help/fr/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/fr/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME nom
@@ -1199,9 +1199,9 @@
 +Renomme le contact/groupe sélectionné avec le "nom" spécifié.
 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
 +Optionally you can use one of --jid, --group or --name to select object, different from current.
-diff -r 1b0b563a81e6 mcabber/doc/help/it/hlp_buffer.txt
---- a/mcabber/doc/help/it/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/it/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/it/hlp_buffer.txt
+--- a/mcabber/doc/help/it/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/it/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Fa scorrere indietro il buffer di [n] linee (default: metà schermo)
  /buffer down [n]
@@ -1211,18 +1211,18 @@
   Salta alla prima linea successiva alla [data] specificata nel buffer di chat (formato della data: "YYYY-mm-dd")
  /buffer % n
   Salta alla posizione %n del buffer di chat corrente
-diff -r 1b0b563a81e6 mcabber/doc/help/it/hlp_del.txt
---- a/mcabber/doc/help/it/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/it/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/it/hlp_del.txt
+--- a/mcabber/doc/help/it/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/it/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
 + /DEL [-n|--dryrun] [jid]
  
  Elimina il contatto corrente dal roster, cancellando la sottoscrizione alle reciproche notifiche della propria presenza.
-diff -r 1b0b563a81e6 mcabber/doc/help/it/hlp_move.txt
---- a/mcabber/doc/help/it/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/it/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/it/hlp_move.txt
+--- a/mcabber/doc/help/it/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/it/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,5 +1,6 @@
  
 - /MOVE [gruppo]
@@ -1231,9 +1231,9 @@
  Muove il contatto corrente nel gruppo richiesto. Se non viene specificato alcun gruppo, il contatto viene spostato nel gruppo si default. Se il gruppo "gruppo" non esiste, viene creato.
 +You can select other buddy that current using options --jid and --name.
  Trucco: se la modalità chat è abilitata, puoi usare "/roster alternate" per spostarti sul contatto appena mosso.
-diff -r 1b0b563a81e6 mcabber/doc/help/it/hlp_rename.txt
---- a/mcabber/doc/help/it/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/it/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/it/hlp_rename.txt
+--- a/mcabber/doc/help/it/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/it/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME nome
@@ -1243,9 +1243,9 @@
 +Rinomina il contatto od il gruppo correnti usando "nome".
 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
 +Optionally you can use one of --jid, --group or --name to select object, different from current.
-diff -r 1b0b563a81e6 mcabber/doc/help/nl/hlp_buffer.txt
---- a/mcabber/doc/help/nl/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/nl/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/nl/hlp_buffer.txt
+--- a/mcabber/doc/help/nl/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/nl/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Scroll de buffer [n] regels omhoog (standaard: een half scherm)
  /buffer down [n]
@@ -1255,18 +1255,18 @@
   Spring naar de eerste regel na de aangeduide [datum] in de chat buffer (datum formaat: "YYYY-mm-dd")
  /buffer % n
   Spring naar positie %n in de buddy chat buffer
-diff -r 1b0b563a81e6 mcabber/doc/help/nl/hlp_del.txt
---- a/mcabber/doc/help/nl/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/nl/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/nl/hlp_del.txt
+--- a/mcabber/doc/help/nl/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/nl/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
 + /DEL [-n|--dryrun] [jid]
  
  Verwijder de actieve buddy uit ons roster, en zet het wederzijds toezenden van status veranderingen stop.
-diff -r 1b0b563a81e6 mcabber/doc/help/nl/hlp_move.txt
---- a/mcabber/doc/help/nl/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/nl/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/nl/hlp_move.txt
+--- a/mcabber/doc/help/nl/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/nl/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,5 +1,6 @@
  
 - /MOVE [groepsnaam]
@@ -1275,9 +1275,9 @@
  Verplaats de actieve buddy naar de aangegeven groep.  Indien geen groep werd gespecificeerd wordt buddy verplaatst naar de standaard groep.  Indien de groep "groepsnaam" niet bestaat, wordt die eerst aangemaakt.
 +You can select other buddy that current using options --jid and --name.
  Tip: indien chatmode actief is, kun je "/roster alternate" gebruiken om direct naar de verplaatste buddy te springen.
-diff -r 1b0b563a81e6 mcabber/doc/help/nl/hlp_rename.txt
---- a/mcabber/doc/help/nl/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/nl/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/nl/hlp_rename.txt
+--- a/mcabber/doc/help/nl/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/nl/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME naam
@@ -1287,18 +1287,18 @@
 +Hernoem de actieve buddy of groep in de aangegeven "naam".
 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
 +Optionally you can use one of --jid, --group or --name to select object, different from current.
-diff -r 1b0b563a81e6 mcabber/doc/help/pl/hlp_del.txt
---- a/mcabber/doc/help/pl/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/pl/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/pl/hlp_del.txt
+--- a/mcabber/doc/help/pl/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/pl/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
 + /DEL [-n|--dryrun] [jid]
  
  Usuwa aktualnie zaznaczoną osobę z rostera, usuwa subskrypcję powiadomienia dostępności u danej osoby oraz u nas.
-diff -r 1b0b563a81e6 mcabber/doc/help/pl/hlp_move.txt
---- a/mcabber/doc/help/pl/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/pl/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/pl/hlp_move.txt
+--- a/mcabber/doc/help/pl/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/pl/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,5 +1,6 @@
  
 - /MOVE [nazwa grupy]
@@ -1307,9 +1307,9 @@
  Przenosi aktualną osobę do grupy "nazwa grupy".  Jeśli nie podano nazwy grupy, wtedy osoba jest przenoszona do grupy domyślnej.  Jeśli grupa "nazwa grupy" nie istnieje, zostaje utworzona.
 +You can select other buddy that current using options --jid and --name.
  Podpowiedź: jeśli jest włączony tryb czatu, możesz użyć "/roster alternate" aby skoczyć do przeniesionej osoby.
-diff -r 1b0b563a81e6 mcabber/doc/help/pl/hlp_rename.txt
---- a/mcabber/doc/help/pl/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/pl/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/pl/hlp_rename.txt
+--- a/mcabber/doc/help/pl/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/pl/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME nazwa
@@ -1319,9 +1319,9 @@
 +Zmienia nazwę aktualnej osoby lub grupy na "nazwa". 
 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
 +Optionally you can use one of --jid, --group or --name to select object, different from current.
-diff -r 1b0b563a81e6 mcabber/doc/help/ru/hlp_buffer.txt
---- a/mcabber/doc/help/ru/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/ru/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/ru/hlp_buffer.txt
+--- a/mcabber/doc/help/ru/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/ru/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Перемещает на [n] строк вверх в буфере (истории переписки) (по умолчанию: половина экрана)
  /buffer down [n]
@@ -1331,9 +1331,9 @@
   Перемещает в первой строке после определенной даты [date] в буфере (истории переписки) (формат даты: "год-месяц-день", для примера "2006-01-01")
  /buffer % n
   Перемещает на позицию %n в текущем буфере (истории переписки)
-diff -r 1b0b563a81e6 mcabber/doc/help/ru/hlp_del.txt
---- a/mcabber/doc/help/ru/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/ru/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/ru/hlp_del.txt
+--- a/mcabber/doc/help/ru/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/ru/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
@@ -1341,9 +1341,9 @@
  
 -Удаляет текущего пользователя из списка контактов, отключает уведомления о его статусе и отключает уведомления пользователя о вашем статусе.
 +Удаляет текущего пользователя (или указанного с помощью jid) из списка контактов, отключает уведомления о его статусе и отключает уведомление пользователя о вашем статусе.
-diff -r 1b0b563a81e6 mcabber/doc/help/ru/hlp_move.txt
---- a/mcabber/doc/help/ru/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/ru/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/ru/hlp_move.txt
+--- a/mcabber/doc/help/ru/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/ru/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,6 +1,7 @@
  
 - /MOVE [groupname]
@@ -1353,9 +1353,9 @@
 +С помощью параметров --jid и --name можно перемещать контакты, отличные от текущего.
  Полезно: Если включен режим чата (chatmode), Вы можете использовать "/roster alternate" для перехода к перемещенному пользователю.
  
-diff -r 1b0b563a81e6 mcabber/doc/help/ru/hlp_rename.txt
---- a/mcabber/doc/help/ru/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/ru/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/ru/hlp_rename.txt
+--- a/mcabber/doc/help/ru/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/ru/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME name
@@ -1365,9 +1365,9 @@
 +Переименовывает текущего пользователя или группу в заданное имя "newname".
 +Если указан параметр --reset, "newname" игнорируется, а имя сбрасывается (mcabber будет отображать JID или имя пользователя по умолчанию).
 +Для указания обьекта, отличного от текущего, можно использовать опции --jid, --group и --name.
-diff -r 1b0b563a81e6 mcabber/doc/help/uk/hlp_buffer.txt
---- a/mcabber/doc/help/uk/hlp_buffer.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/uk/hlp_buffer.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/uk/hlp_buffer.txt
+--- a/mcabber/doc/help/uk/hlp_buffer.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/uk/hlp_buffer.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -25,7 +25,7 @@
   Посунути буфер вверх на n рядків (якщо не вказано - пів екрану).
  /buffer down [n]
@@ -1377,9 +1377,9 @@
   Перейти до першого повідомлення після дати (дата вигляду РРРР-ММ-ДД).
  /buffer % процент
   Перейти до вказаної у процентах позиції.
-diff -r 1b0b563a81e6 mcabber/doc/help/uk/hlp_del.txt
---- a/mcabber/doc/help/uk/hlp_del.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/uk/hlp_del.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/uk/hlp_del.txt
+--- a/mcabber/doc/help/uk/hlp_del.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/uk/hlp_del.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,4 @@
  
 - /DEL
@@ -1387,9 +1387,9 @@
  
 -Потерти поточний контакт зі списку. На додачу відписатися від його повідомлень про статус і відписати його від ваших.
 +Потерти поточний контакт (або контакт, що має вказаний jid) зі списку. Також відписатися від його сповіщень про статус і відписати його від ваших.
-diff -r 1b0b563a81e6 mcabber/doc/help/uk/hlp_move.txt
---- a/mcabber/doc/help/uk/hlp_move.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/uk/hlp_move.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/uk/hlp_move.txt
+--- a/mcabber/doc/help/uk/hlp_move.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/uk/hlp_move.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,5 +1,6 @@
  
 - /MOVE [група]
@@ -1399,9 +1399,9 @@
 +Переносить поточний контакт до вказаної групи. Якщо групу не вказати контакт опиниться у головній групі. Якщо групи не існує, її буде створено.
 +За допомогою опцій --jid та --name можна перемістити контакт, відмінний від поточного.
  Примітка: в режимі розмови можна використати "/roster alternate", щоб перейти до нового місця контакту контакту.
-diff -r 1b0b563a81e6 mcabber/doc/help/uk/hlp_rename.txt
---- a/mcabber/doc/help/uk/hlp_rename.txt	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/doc/help/uk/hlp_rename.txt	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/doc/help/uk/hlp_rename.txt
+--- a/mcabber/doc/help/uk/hlp_rename.txt	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/doc/help/uk/hlp_rename.txt	Thu Aug 22 00:44:41 2013 +0300
 @@ -1,4 +1,6 @@
  
 - /RENAME ім'я
@@ -1410,9 +1410,9 @@
  Змінює прізвисько поточного контакту або назву групи.
 +За допомогою параметра --reset можна повернути контакту типову назву. При цьому нове ім’я (якщо вказане) ігнорується.
 +Опції --jid, --group та --name дозволяють перейменовувати об’єкти, відмінні від поточного.
-diff -r 1b0b563a81e6 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/mcabber/commands.c	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/mcabber/commands.c	Thu Aug 22 00:44:41 2013 +0300
 @@ -19,7 +19,7 @@
   * USA
   */
@@ -1470,10 +1470,10 @@
 +                 def_clear,
 +                 def_info,
 +                 def_rename,
-+                 def_move;       // 15
++                 def_move,       // 15
 +                 def_set,
 +                 def_alias,
-+                 def_bind,
++                 def_bind;
 +#if 0
 +                 def_connect,
 +                 def_disconnect,
@@ -6528,9 +6528,9 @@
 +#endif
  
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r 1b0b563a81e6 mcabber/mcabber/commands.h
---- a/mcabber/mcabber/commands.h	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/mcabber/commands.h	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/mcabber/commands.h
+--- a/mcabber/mcabber/commands.h	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/mcabber/commands.h	Thu Aug 22 00:44:41 2013 +0300
 @@ -5,32 +5,394 @@
  
  #include <mcabber/config.h>
@@ -6946,9 +6946,9 @@
  
  #endif /* __MCABBER_COMMANDS_H__ */
  
-diff -r 1b0b563a81e6 mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/mcabber/hooks.c	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/mcabber/hooks.c	Thu Aug 22 00:44:41 2013 +0300
 @@ -638,10 +638,9 @@
  
    scr_LogPrint(LPRINT_LOGNORM, "Running hook-post-connect...");
@@ -6975,9 +6975,9 @@
    g_free(cmdline);
  }
  
-diff -r 1b0b563a81e6 mcabber/mcabber/roster.c
---- a/mcabber/mcabber/roster.c	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/mcabber/roster.c	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/mcabber/roster.c
+--- a/mcabber/mcabber/roster.c	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/mcabber/roster.c	Thu Aug 22 00:44:41 2013 +0300
 @@ -1586,13 +1586,14 @@
  // Look for a buddy whose name or jid contains string.
  // Search begins at current_buddy; if no match is found in the the buddylist,
@@ -7016,9 +7016,9 @@
        if (found)
          return buddy;
      }
-diff -r 1b0b563a81e6 mcabber/mcabber/screen.c
---- a/mcabber/mcabber/screen.c	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/mcabber/screen.c	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/mcabber/screen.c
+--- a/mcabber/mcabber/screen.c	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/mcabber/screen.c	Thu Aug 22 00:44:41 2013 +0300
 @@ -3630,7 +3630,7 @@
  {
    scr_check_auto_away(TRUE);
@@ -7086,9 +7086,9 @@
      g_free(cmdline);
      return 0;
    }
-diff -r 1b0b563a81e6 mcabber/mcabber/settings.c
---- a/mcabber/mcabber/settings.c	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/mcabber/settings.c	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/mcabber/settings.c
+--- a/mcabber/mcabber/settings.c	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/mcabber/settings.c	Thu Aug 22 00:44:41 2013 +0300
 @@ -183,28 +183,12 @@
      if ((*line == '\n') || (*line == '\0') || (*line == '#'))
        continue;
@@ -7123,9 +7123,9 @@
    }
    g_free(buf);
    fclose(fp);
-diff -r 1b0b563a81e6 mcabber/mcabber/xmpp_iq.c
---- a/mcabber/mcabber/xmpp_iq.c	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/mcabber/xmpp_iq.c	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/mcabber/xmpp_iq.c
+--- a/mcabber/mcabber/xmpp_iq.c	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/mcabber/xmpp_iq.c	Thu Aug 22 00:44:41 2013 +0300
 @@ -71,20 +71,20 @@
  struct adhoc_status {
    char *name;   // the name used by adhoc
@@ -7172,9 +7172,9 @@
            lm_message_node_set_attribute(command, "status", "completed");
            lm_message_node_add_dataform_result(command,
                                                "Status has been changed");
-diff -r 1b0b563a81e6 mcabber/modules/beep/beep.c
---- a/mcabber/modules/beep/beep.c	Wed Mar 13 16:11:16 2013 +0200
-+++ b/mcabber/modules/beep/beep.c	Wed May 15 12:48:30 2013 +0300
+diff -r 7a77fde8f7ee mcabber/modules/beep/beep.c
+--- a/mcabber/modules/beep/beep.c	Sat Jul 13 21:05:39 2013 +0300
++++ b/mcabber/modules/beep/beep.c	Thu Aug 22 00:44:41 2013 +0300
 @@ -31,6 +31,7 @@
  
  static void beep_init   (void);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fix-changelog-api.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -0,0 +1,41 @@
+# HG changeset patch
+# Parent 634cc23e8c1c5764623d17d12170b3fb7d67e5d9
+Document breaking api change (v36)
+
+diff -r 634cc23e8c1c mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Fri Oct 17 22:42:07 2014 +0200
++++ b/mcabber/ChangeLog.api	Wed Nov 12 00:15:55 2014 +0200
+@@ -1,3 +1,19 @@
++dev (36)
++
++ * process_command() does not return value
++   /* breaks things */
++ * process_line() does not return value
++   /* as well */
++ * readline_accept_line() does not return value
++ * Remove struct xep0022 and buddy_resource_xep22()
++   /* were private, so does not matter? */
++ * Remove some and change values of ROSTER_EVENT_*
++   /* breaks binary compatibility */
++ * Add scr_roster_next_open_buffer()
++ * Add NS_FORWARD definition
++
++  -- ?, ?
++
+ dev (35)
+ 
+  * Change prototype of hk_message_in()
+diff -r 634cc23e8c1c mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Fri Oct 17 22:42:07 2014 +0200
++++ b/mcabber/mcabber/api.h	Wed Nov 12 00:15:55 2014 +0200
+@@ -4,8 +4,8 @@
+ #include <glib.h>
+ #include <mcabber/config.h> // For MCABBER_BRANCH
+ 
+-#define MCABBER_API_VERSION 35
+-#define MCABBER_API_MIN     35
++#define MCABBER_API_VERSION 36
++#define MCABBER_API_MIN     36
+ 
+ #define MCABBER_BRANCH_DEV  1
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fix-compilation-warning.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -0,0 +1,22 @@
+# HG changeset patch
+# Parent 634cc23e8c1c5764623d17d12170b3fb7d67e5d9
+Fix compilation warning, when building without modules support
+
+diff -r 634cc23e8c1c mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Fri Oct 17 22:42:07 2014 +0200
++++ b/mcabber/mcabber/main.c	Wed Nov 12 22:23:26 2014 +0200
+@@ -44,13 +44,13 @@
+ #include "xmpp.h"
+ #include "help.h"
+ #include "events.h"
++#include "compl.h"
+ 
+ #ifndef MODULES_ENABLE
+ # include "fifo.h"
+ #endif
+ 
+ #ifdef MODULES_ENABLE
+-# include "compl.h"
+ # include "modules.h"
+ #endif
+ 
--- a/fix-date-fill.diff	Wed May 15 13:32:42 2013 +0300
+++ b/fix-date-fill.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,32 +1,34 @@
 # HG changeset patch
-# Parent 450e74018eb436aef07e67ef7ae49cd05f48b3c9
+# Parent 634cc23e8c1c5764623d17d12170b3fb7d67e5d9
 Fix empty prefix filling
 Not useful in vanilla, as there's no prefixes
 longer than that static string. Also not add spaces
 to prefixes - they are already in format string.
 
-diff -r 450e74018eb4 mcabber/mcabber/screen.c
---- a/mcabber/mcabber/screen.c	Thu Oct 18 01:49:44 2012 +0300
-+++ b/mcabber/mcabber/screen.c	Thu Oct 18 02:08:24 2012 +0300
-@@ -1139,9 +1139,9 @@
+XXX: Not really sure about this all, why are we getting rid of spaces in the end?
+
+diff -r 634cc23e8c1c mcabber/mcabber/screen.c
+--- a/mcabber/mcabber/screen.c	Fri Oct 17 22:42:07 2014 +0200
++++ b/mcabber/mcabber/screen.c	Tue Nov 11 20:58:44 2014 +0200
+@@ -1087,9 +1087,9 @@
  
    if (line->timestamp &&
        !(line->flags & (HBB_PREFIX_SPECIAL|HBB_PREFIX_CONT))) {
--    strftime(date, 30, gettprefix(), localtime(&line->timestamp));
-+    strftime(date, 63, gettprefix(), localtime(&line->timestamp));
+-    timepreflen = strftime(date, 30, gettprefix(), localtime(&line->timestamp));
++    timepreflen = strftime(date, 63, gettprefix(), localtime(&line->timestamp));
    } else
 -    strcpy(date, "           ");
 +    memset(date, ' ', (preflen>64) ? 64 : preflen);
  
    if (!(line->flags & HBB_PREFIX_CONT)) {
      if (line->flags & HBB_PREFIX_INFO) {
-@@ -1181,13 +1181,12 @@
+@@ -1129,13 +1129,12 @@
          receiptflag = '-';
        g_snprintf(pref, preflen, "%s%c%c> ", date, receiptflag, cryptflag);
      } else if (line->flags & HBB_PREFIX_SPECIAL) {
--      strftime(date, 30, getspectprefix(), localtime(&line->timestamp));
+-      timepreflen = strftime(date, 30, getspectprefix(), localtime(&line->timestamp));
 -      g_snprintf(pref, preflen, "%s   ", date);
-+      strftime(pref, preflen, getspectprefix(), localtime(&line->timestamp));
++      timepreflen = strftime(pref, preflen, getspectprefix(), localtime(&line->timestamp));
      } else {
 -      g_snprintf(pref, preflen, "%s    ", date);
 +      strncpy(pref, date, preflen);
@@ -35,5 +37,5 @@
 -    g_snprintf(pref, preflen, "                ");
 +    strncpy(pref, date, preflen);
    }
+   return timepreflen;
  }
- 
--- a/fix-set-status-rc-xa.diff	Wed May 15 13:32:42 2013 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-# HG changeset patch
-# Parent 646da4f1d2e1bcb69efbcc68bc45ae95afa7249e
-Fix typo in form field value for set-status remote command
-s/xd/xa/
-
-diff -r 646da4f1d2e1 -r 9b4e36de294e mcabber/mcabber/xmpp_iq.c
---- a/mcabber/mcabber/xmpp_iq.c	Mon Mar 11 21:45:20 2013 +0200
-+++ b/mcabber/mcabber/xmpp_iq.c	Wed Mar 13 16:10:13 2013 +0200
-@@ -79,7 +79,7 @@
-   {"online", "Online", "avail"},
-   {"chat", "Chat", "free"},
-   {"dnd", "Do not disturb", "dnd"},
--  {"xd", "Extended away", "notavail"},
-+  {"xa", "Extended away", "notavail"},
-   {"away", "Away", "away"},
- #ifdef WITH_DEPRECATED_STATUS_INVISIBLE
-   {"invisible", "Invisible", "invisible"},
--- a/guard-xmpp-password.diff	Wed May 15 13:32:42 2013 +0300
+++ b/guard-xmpp-password.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -4,10 +4,10 @@
     restricted data, better store restricted data somewhere else
   * add xmpp_init() and xmpp_have_password (non-api)
 
-diff -r ce54b748207b mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Thu Oct 18 13:43:12 2012 +0300
-+++ b/mcabber/mcabber/commands.c	Thu Oct 18 13:43:18 2012 +0300
-@@ -2274,10 +2274,8 @@
+diff -r d5d7361a99c0 mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Tue Nov 11 21:10:14 2014 +0200
++++ b/mcabber/mcabber/commands.c	Tue Nov 11 21:12:47 2014 +0200
+@@ -2286,10 +2286,8 @@
  
  static void list_option_cb(char *k, char *v, void *f)
  {
@@ -20,10 +20,10 @@
  }
  
  static void do_set(char *arg)
-diff -r ce54b748207b mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Thu Oct 18 13:43:12 2012 +0300
-+++ b/mcabber/mcabber/main.c	Thu Oct 18 13:43:18 2012 +0300
-@@ -381,6 +381,7 @@
+diff -r d5d7361a99c0 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Tue Nov 11 21:10:14 2014 +0200
++++ b/mcabber/mcabber/main.c	Tue Nov 11 21:12:47 2014 +0200
+@@ -389,6 +389,7 @@
    scr_init_locale_charset();
    ut_init_debug();
    help_init();
@@ -31,7 +31,7 @@
  
    /* Parsing config file... */
    ret = cfg_read_file(configFile, TRUE);
-@@ -417,8 +418,9 @@
+@@ -410,8 +411,9 @@
  
    /* If no password is stored, we ask for it before entering
       ncurses mode -- unless the username is unknown. */
@@ -42,9 +42,9 @@
      settings_set(SETTINGS_TYPE_OPTION, "password", pwd);
      g_free(pwd);
    }
-diff -r ce54b748207b mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c	Thu Oct 18 13:43:12 2012 +0300
-+++ b/mcabber/mcabber/xmpp.c	Thu Oct 18 13:43:18 2012 +0300
+diff -r d5d7361a99c0 mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c	Tue Nov 11 21:10:14 2014 +0200
++++ b/mcabber/mcabber/xmpp.c	Tue Nov 11 21:12:47 2014 +0200
 @@ -23,6 +23,8 @@
   */
  #include <stdlib.h>
@@ -54,7 +54,7 @@
  
  #include "xmpp.h"
  #include "xmpp_helper.h"
-@@ -53,6 +55,9 @@
+@@ -54,6 +56,9 @@
  static enum imstatus mywantedstatus = available;
  gchar *mystatusmsg;
  
@@ -64,7 +64,7 @@
  char imstatus2char[imstatus_size+1] = {
      '_', 'o', 'f', 'd', 'n', 'a', 'i', '\0'
  };
-@@ -891,16 +896,15 @@
+@@ -778,16 +783,15 @@
    GError *error = NULL;
  
    if (success) {
@@ -83,7 +83,7 @@
                                      connection_auth_cb, NULL, FALSE, &error)) {
        scr_LogPrint(LPRINT_LOGNORM, "Failed to authenticate: %s",
                     error->message);
-@@ -1783,13 +1787,37 @@
+@@ -1687,13 +1691,37 @@
    }
  }
  
@@ -122,15 +122,15 @@
    char *dynresource = NULL;
    char fpr[16];
    const char *proxy_host;
-@@ -1806,7 +1834,6 @@
+@@ -1710,7 +1738,6 @@
  
-   servername = settings_opt_get("server");
-   userjid    = settings_opt_get("jid");
--  password   = settings_opt_get("password");
-   resource   = settings_opt_get("resource");
-   proxy_host = settings_opt_get("proxy_host");
-   ssl_fpr    = settings_opt_get("ssl_fingerprint");
-@@ -1815,7 +1842,7 @@
+   servername  = settings_opt_get("server");
+   userjid     = settings_opt_get("jid");
+-  password    = settings_opt_get("password");
+   resource    = settings_opt_get("resource");
+   proxy_host  = settings_opt_get("proxy_host");
+   ssl_fpr     = settings_opt_get("ssl_fingerprint");
+@@ -1719,7 +1746,7 @@
      scr_LogPrint(LPRINT_LOGNORM, "Your JID has not been specified!");
      return -1;
    }
@@ -139,10 +139,10 @@
      scr_LogPrint(LPRINT_LOGNORM, "Your password has not been specified!");
      return -1;
    }
-diff -r ce54b748207b mcabber/mcabber/xmpp.h
---- a/mcabber/mcabber/xmpp.h	Thu Oct 18 13:43:12 2012 +0300
-+++ b/mcabber/mcabber/xmpp.h	Thu Oct 18 13:43:18 2012 +0300
-@@ -33,7 +33,9 @@
+diff -r d5d7361a99c0 mcabber/mcabber/xmpp.h
+--- a/mcabber/mcabber/xmpp.h	Tue Nov 11 21:10:14 2014 +0200
++++ b/mcabber/mcabber/xmpp.h	Tue Nov 11 21:12:47 2014 +0200
+@@ -34,7 +34,9 @@
  
  extern LmConnection* lconnection;
  extern LmSSL* lssl;
--- a/modularize-extcmd.diff	Wed May 15 13:32:42 2013 +0300
+++ b/modularize-extcmd.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,9 +1,9 @@
 Convert extcmd into a module
 
-diff -r b42512803fa8 mcabber/configure.ac
---- a/mcabber/configure.ac	Thu Jan 17 23:44:36 2013 +0200
-+++ b/mcabber/configure.ac	Thu Jan 17 23:45:05 2013 +0200
-@@ -292,6 +292,7 @@
+diff -r 17f90f8dc463 mcabber/configure.ac
+--- a/mcabber/configure.ac	Wed Nov 12 22:24:18 2014 +0200
++++ b/mcabber/configure.ac	Wed Nov 12 22:25:42 2014 +0200
+@@ -295,6 +295,7 @@
                   modules/beep/Makefile
                   modules/xttitle/Makefile
                   modules/fifo/Makefile
@@ -11,30 +11,31 @@
                   modules/urlregex/Makefile
                   doc/Makefile
                   doc/guide/Makefile
-diff -r b42512803fa8 mcabber/mcabber/Makefile.am
---- a/mcabber/mcabber/Makefile.am	Thu Jan 17 23:44:36 2013 +0200
-+++ b/mcabber/mcabber/Makefile.am	Thu Jan 17 23:45:05 2013 +0200
-@@ -7,7 +7,7 @@
+diff -r 17f90f8dc463 mcabber/mcabber/Makefile.am
+--- a/mcabber/mcabber/Makefile.am	Wed Nov 12 22:24:18 2014 +0200
++++ b/mcabber/mcabber/Makefile.am	Wed Nov 12 22:25:42 2014 +0200
+@@ -7,8 +7,7 @@
  		  xmpp.c xmpp.h xmpp_helper.c xmpp_helper.h xmpp_defines.h \
  		  xmpp_iq.c xmpp_iq.h xmpp_iqrequest.c xmpp_iqrequest.h \
  		  xmpp_muc.c xmpp_muc.h xmpp_s10n.c xmpp_s10n.h \
--		  caps.c caps.h help.c help.h extcmd.c extcmd.h
-+		  caps.c caps.h help.c help.h
+-		  caps.c caps.h help.c help.h carbons.c carbons.h \
+-		  extcmd.c extcmd.h
++		  caps.c caps.h help.c help.h carbons.c carbons.h
  
  if OTR
  mcabber_SOURCES += otr.c otr.h nohtml.c nohtml.h
-@@ -56,7 +56,7 @@
+@@ -57,7 +56,7 @@
  
  mcabberincludedir = $(includedir)/mcabber
  else
--mcabber_SOURCES += fifo.c fifo.h
-+mcabber_SOURCES += fifo.c fifo.h extcmd.c extcmd.h
+-mcabber_SOURCES += fifo_internal.c fifo.h
++mcabber_SOURCES += fifo_internal.c fifo.h extcmd.c extcmd.h
  endif
  
  #SUBDIRS =
-diff -r b42512803fa8 mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Thu Jan 17 23:44:36 2013 +0200
-+++ b/mcabber/mcabber/hooks.c	Thu Jan 17 23:45:05 2013 +0200
+diff -r 17f90f8dc463 mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Wed Nov 12 22:24:18 2014 +0200
++++ b/mcabber/mcabber/hooks.c	Wed Nov 12 22:25:42 2014 +0200
 @@ -36,7 +36,10 @@
  #include "utf8.h"
  #include "commands.h"
@@ -57,7 +58,7 @@
    int message_flags = 0;
    guint rtype = ROSTER_TYPE_USER;
    char *wmsg = NULL, *bmsg = NULL, *mmsg = NULL;
-@@ -397,6 +402,7 @@
+@@ -399,6 +404,7 @@
    }
  #endif
  
@@ -65,7 +66,7 @@
    if (settings_opt_get_int("events_ignore_active_window") &&
        current_buddy && scr_get_chatmode()) {
      gpointer bud = BUDDATA(current_buddy);
-@@ -415,6 +421,7 @@
+@@ -417,6 +423,7 @@
      hk_ext_cmd(bjid, EXT_CMD_TYPE_MESSAGE,
                 is_groupchat ? EXT_CMD_INFO_GROUPCHAT : EXT_CMD_INFO_RECEIVED,
                 wmsg);
@@ -73,7 +74,7 @@
  
    // Beep, if enabled:
    // - if it's a private message
-@@ -491,8 +498,10 @@
+@@ -493,8 +500,10 @@
    }
  #endif
  
@@ -84,7 +85,7 @@
  
    g_free(bmsg);
    g_free(mmsg);
-@@ -578,9 +587,11 @@
+@@ -580,9 +589,11 @@
    }
  #endif
  
@@ -110,22 +111,21 @@
  }
  
  //  hk_presence_subscription_request(jid, message)
-diff -r b42512803fa8 mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Thu Jan 17 23:44:36 2013 +0200
-+++ b/mcabber/mcabber/main.c	Thu Jan 17 23:45:05 2013 +0200
-@@ -44,7 +44,10 @@
- #include "xmpp.h"
+diff -r 17f90f8dc463 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Wed Nov 12 22:24:18 2014 +0200
++++ b/mcabber/mcabber/main.c	Wed Nov 12 22:25:42 2014 +0200
+@@ -49,9 +49,9 @@
  #include "help.h"
  #include "events.h"
+ #include "compl.h"
 -#include "extcmd.h"
-+
-+#ifndef MODULES_ENABLE
-+# include "extcmd.h"
-+#endif
  
  #ifndef MODULES_ENABLE
++# include "extcmd.h"
  # include "fifo.h"
-@@ -426,9 +429,11 @@
+ #endif
+ 
+@@ -436,9 +436,11 @@
    }
  #endif
  
@@ -137,15 +137,15 @@
  
    optstring = settings_opt_get("roster_display_filter");
    if (optstring)
-diff -r b42512803fa8 mcabber/modules/Makefile.am
---- a/mcabber/modules/Makefile.am	Thu Jan 17 23:44:36 2013 +0200
-+++ b/mcabber/modules/Makefile.am	Thu Jan 17 23:45:05 2013 +0200
+diff -r 17f90f8dc463 mcabber/modules/Makefile.am
+--- a/mcabber/modules/Makefile.am	Wed Nov 12 22:24:18 2014 +0200
++++ b/mcabber/modules/Makefile.am	Wed Nov 12 22:25:42 2014 +0200
 @@ -1,1 +1,1 @@
 -SUBDIRS = beep xttitle fifo urlregex
 +SUBDIRS = beep xttitle fifo eventcmd urlregex
-diff -r b42512803fa8 mcabber/modules/eventcmd/Makefile.am
+diff -r 17f90f8dc463 mcabber/modules/eventcmd/Makefile.am
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/modules/eventcmd/Makefile.am	Thu Jan 17 23:45:05 2013 +0200
++++ b/mcabber/modules/eventcmd/Makefile.am	Wed Nov 12 22:25:42 2014 +0200
 @@ -0,0 +1,13 @@
 +
 +if INSTALL_HEADERS
@@ -160,9 +160,9 @@
 +				$(ENCHANT_CFLAGS)
 +endif
 +
-diff -r b42512803fa8 mcabber/modules/eventcmd/eventcmd.c
+diff -r 17f90f8dc463 mcabber/modules/eventcmd/eventcmd.c
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/modules/eventcmd/eventcmd.c	Thu Jan 17 23:45:05 2013 +0200
++++ b/mcabber/modules/eventcmd/eventcmd.c	Wed Nov 12 22:25:42 2014 +0200
 @@ -0,0 +1,221 @@
 +
 +/* Copyright 2009 Myhailo Danylenko
--- a/roster-state-colors.diff	Wed May 15 13:32:42 2013 +0300
+++ b/roster-state-colors.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,8 +1,8 @@
 Change roster item colors on chatstate change
 
-diff -r 7718e7f796d4 mcabber/contrib/themes/light.txt
---- a/mcabber/contrib/themes/light.txt	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/contrib/themes/light.txt	Wed May 15 12:53:55 2013 +0300
+diff -r f17324b6c882 mcabber/contrib/themes/light.txt
+--- a/mcabber/contrib/themes/light.txt	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/contrib/themes/light.txt	Tue Nov 11 22:35:16 2014 +0200
 @@ -14,7 +14,6 @@
  set color_bgrostersel  = green
  set color_rostersel    = yellow
@@ -11,9 +11,9 @@
  set color_readmark     = red
  
  # vim:set ft=conf:
-diff -r 7718e7f796d4 mcabber/contrib/themes/light2.txt
---- a/mcabber/contrib/themes/light2.txt	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/contrib/themes/light2.txt	Wed May 15 12:53:55 2013 +0300
+diff -r f17324b6c882 mcabber/contrib/themes/light2.txt
+--- a/mcabber/contrib/themes/light2.txt	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/contrib/themes/light2.txt	Tue Nov 11 22:35:16 2014 +0200
 @@ -14,7 +14,6 @@
  set color_bgrostersel  = black
  set color_rostersel    = brightgreen
@@ -22,9 +22,9 @@
  set color_readmark     = red
  
  # vim:set ft=conf:
-diff -r 7718e7f796d4 mcabber/contrib/themes/oliver.txt
---- a/mcabber/contrib/themes/oliver.txt	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/contrib/themes/oliver.txt	Wed May 15 12:53:55 2013 +0300
+diff -r f17324b6c882 mcabber/contrib/themes/oliver.txt
+--- a/mcabber/contrib/themes/oliver.txt	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/contrib/themes/oliver.txt	Tue Nov 11 22:35:16 2014 +0200
 @@ -14,7 +14,6 @@
  set color_bgrostersel  = yellow
  set color_rostersel    = blue
@@ -33,9 +33,9 @@
  set color_readmark     = red
  
  # vim:set ft=conf:
-diff -r 7718e7f796d4 mcabber/doc/help/en/hlp_color.txt
---- a/mcabber/doc/help/en/hlp_color.txt	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/doc/help/en/hlp_color.txt	Wed May 15 12:53:55 2013 +0300
+diff -r f17324b6c882 mcabber/doc/help/en/hlp_color.txt
+--- a/mcabber/doc/help/en/hlp_color.txt	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/doc/help/en/hlp_color.txt	Tue Nov 11 22:35:16 2014 +0200
 @@ -11,6 +11,7 @@
   Set a color rule (or overwrite, if it already exists).  The status is string containing all statuses the roster item can have for the rule to match, or * if any status is OK.  Wildcard is the file-matching wildcard that will be applied to JID.  Color is the wanted color.
   If color is -, the rule is removed.
@@ -44,9 +44,9 @@
  /color mucnick nick (color|-)
   Marks the nick to be colored by given color.  If a MUC has colored nicks, this one will be used.  If color is -, the color is marked as chosen automatically, which means it will not be used in 'preset' coloring mode, but will stay the same in 'on' coloring mode.
  /color muc (jid|.|*) [on|preset|off|-]
-diff -r 7718e7f796d4 mcabber/doc/help/uk/hlp_color.txt
---- a/mcabber/doc/help/uk/hlp_color.txt	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/doc/help/uk/hlp_color.txt	Wed May 15 12:53:55 2013 +0300
+diff -r f17324b6c882 mcabber/doc/help/uk/hlp_color.txt
+--- a/mcabber/doc/help/uk/hlp_color.txt	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/doc/help/uk/hlp_color.txt	Tue Nov 11 22:35:16 2014 +0200
 @@ -11,6 +11,7 @@
   Додає нове чи змінює існуюче правило кольору. "Статус" складений з літер статусу, до яких докладається це правило (наприклад "n_d?"). Зірочка ("*") відповідає будь-якому статусу. "Маска" подібна до файлової маски й докладається до jid. Правило встановлює колір контактів, що йому відповідають.
   Щоб вилучити правило, вкажіть колір "-".
@@ -55,10 +55,19 @@
  /color muc (jid|.|*) [on|preset|off|-]
   Встановлює режим забарвлення прізвиськ у чаті. Якщо замість jid вказано * режим докладається до всіх чатів, для яких не визначено особистого правила (з вказанням jid).
   У режимі on забарвлюються усі прізвиська, у режимі preset - лише ті, для яких колір встановлено командою /color mucnick, а режим off вимикає забарвлення прізвиськ. Режим - прибирає з вказаних jid особисті режими забарвлення. Тоді до них докладається глобальний. Глобальний режим прибрати не можна.
-diff -r 7718e7f796d4 mcabber/mcabber/screen.c
---- a/mcabber/mcabber/screen.c	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/mcabber/screen.c	Wed May 15 12:53:55 2013 +0300
-@@ -440,7 +440,7 @@
+diff -r f17324b6c882 mcabber/mcabber/screen.c
+--- a/mcabber/mcabber/screen.c	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/mcabber/screen.c	Tue Nov 11 22:35:16 2014 +0200
+@@ -222,6 +222,8 @@
+ 
+ /* Functions */
+ 
++static unsigned int attention_sign(void);
++
+ static int find_color(const char *name)
+ {
+   int result;
+@@ -445,7 +447,7 @@
      "roster",
      "rostersel",
      "rosterselmsg",
@@ -67,7 +76,7 @@
      "info",
      "msgin",
      "readmark",
-@@ -513,10 +513,6 @@
+@@ -519,10 +521,6 @@
            init_pair(i+1, ((color) ? find_color(color) : COLOR_RED),
                      find_color(backselected));
            break;
@@ -78,40 +87,43 @@
        case COLOR_INFO:
            init_pair(i+1, ((color) ? find_color(color) : COLOR_WHITE),
                      find_color(background));
-@@ -815,6 +811,21 @@
-   settings_set_guard("color_rosterselmsg", scr_color_guard);
+@@ -826,6 +824,24 @@
    settings_set_guard("color_rosternewmsg", scr_color_guard);
+   settings_set_guard("color_timestamp", scr_color_guard);
  
 +  { // Add default rule only if user has not defined one already
 +    GSList *rel;
 +    gboolean found = FALSE;
 +    for (rel = rostercolrules; rel; rel = rel->next) {
 +      rostercolor *rule = rel->data;
-+      if ((strchr(rule->status, '#') || strchr(rule->status, '!'))
++      if ((strchr(rule->status, '#') || strchr(rule->status, attention_sign()))
 +          && (!strcmp(rule->wildcard, "*"))) {
 +        found = TRUE;
 +        break;
 +      }
 +    }
-+    if (!found)
-+      scr_roster_color("#!", "*", "red");
++    if (!found) {
++      char statuses[3] = "#!";
++      statuses[1] = attention_sign();
++      scr_roster_color(statuses, "*", "red");
++    }
 +  }
 +
    getmaxyx(stdscr, maxY, maxX);
    Log_Win_Height = DEFAULT_LOG_WIN_HEIGHT;
    // Note scr_draw_main_window() should be called early after scr_init_curses()
-@@ -2082,6 +2093,10 @@
+@@ -2168,6 +2184,10 @@
      // for unfolded groups.
      if (ismsg && (!isgrp || ishid)) {
        pending = '#';
 +      // Attention sign?
 +      if ((ismuc && isurg >= ui_attn_sign_prio_level_muc) ||
 +          (!ismuc && isurg >= ui_attn_sign_prio_level))
-+        pending = '!';
++        pending = attention_sign();
      }
  
      if (ismuc) {
-@@ -2105,24 +2120,22 @@
+@@ -2191,24 +2211,22 @@
        for (n = 0; n < maxx; n++)
          waddch(rosterWnd, ' ');
      } else {
@@ -149,7 +161,7 @@
      }
  
      if (Roster_Width > prefix_length)
-@@ -2130,13 +2143,6 @@
+@@ -2216,13 +2234,6 @@
      else
        name[0] = 0;
  
@@ -157,15 +169,15 @@
 -      // Attention sign?
 -      if ((ismuc && isurg >= ui_attn_sign_prio_level_muc) ||
 -          (!ismuc && isurg >= ui_attn_sign_prio_level))
--        pending = '!';
+-        pending = attention_sign();
 -    }
 -
      if (isgrp) {
        if (ishid) {
          int group_count = 0;
-diff -r 7718e7f796d4 mcabber/mcabber/screen.h
---- a/mcabber/mcabber/screen.h	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/mcabber/screen.h	Wed May 15 12:53:55 2013 +0300
+diff -r f17324b6c882 mcabber/mcabber/screen.h
+--- a/mcabber/mcabber/screen.h	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/mcabber/screen.h	Tue Nov 11 22:35:16 2014 +0200
 @@ -47,7 +47,7 @@
    COLOR_ROSTER,
    COLOR_ROSTERSEL,
@@ -175,15 +187,16 @@
    COLOR_INFO,
    COLOR_MSGIN,
    COLOR_READMARK,
-diff -r 7718e7f796d4 mcabber/mcabberrc.example
---- a/mcabber/mcabberrc.example	Wed May 15 12:53:03 2013 +0300
-+++ b/mcabber/mcabberrc.example	Wed May 15 12:53:55 2013 +0300
-@@ -423,15 +423,24 @@
+diff -r f17324b6c882 mcabber/mcabberrc.example
+--- a/mcabber/mcabberrc.example	Tue Nov 11 21:21:09 2014 +0200
++++ b/mcabber/mcabberrc.example	Tue Nov 11 22:35:16 2014 +0200
+@@ -429,16 +429,25 @@
  #set color_bgrostersel  = cyan
  #set color_rostersel    = blue
  #set color_rosterselmsg = red
 -#set color_rosternewmsg = red
  #set color_readmark     = red
+ #set color_timestamp    = brightblue
  
 -# You can color roster items by their status and JID.  For example, to have
 -# all roster items white, just all contacts from jabber.org that are away,
--- a/round-high-priority.diff	Wed May 15 13:32:42 2013 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-# HG changeset patch
-# Parent dd8ae0abfc684ea26962f2d41000bd562b420ae6
-
-diff -r dd8ae0abfc68 mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c	Sun Apr 28 11:43:00 2013 +0200
-+++ b/mcabber/mcabber/xmpp.c	Wed May 15 13:32:25 2013 +0300
-@@ -1490,8 +1490,17 @@
-   }
- 
-   p = lm_message_node_get_child_value(m->node, "priority");
--  if (p && *p) bpprio = (gchar)atoi(p);
--  else         bpprio = 0;
-+  if (p && *p) {
-+    int rawprio = atoi(p);
-+    if (rawprio > 127)
-+      bpprio = 127;
-+    else if (rawprio < -128)
-+      bpprio = -128;
-+    else
-+      bpprio = rawprio;
-+  } else {
-+    bpprio = 0;
-+  }
- 
-   ust = available;
- 
--- a/separate-extcmd.diff	Wed May 15 13:32:42 2013 +0300
+++ b/separate-extcmd.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,18 +1,19 @@
 Move extcmd code from hooks
 
-diff -r 75d573fb8845 mcabber/mcabber/Makefile.am
---- a/mcabber/mcabber/Makefile.am	Fri Jan 18 11:23:51 2013 +0200
-+++ b/mcabber/mcabber/Makefile.am	Sun Jan 27 00:38:57 2013 +0200
-@@ -7,7 +7,7 @@
+diff -r fd72b1e3bf26 mcabber/mcabber/Makefile.am
+--- a/mcabber/mcabber/Makefile.am	Wed Nov 12 22:23:32 2014 +0200
++++ b/mcabber/mcabber/Makefile.am	Wed Nov 12 22:24:18 2014 +0200
+@@ -7,7 +7,8 @@
  		  xmpp.c xmpp.h xmpp_helper.c xmpp_helper.h xmpp_defines.h \
  		  xmpp_iq.c xmpp_iq.h xmpp_iqrequest.c xmpp_iqrequest.h \
  		  xmpp_muc.c xmpp_muc.h xmpp_s10n.c xmpp_s10n.h \
--		  caps.c caps.h help.c help.h
-+		  caps.c caps.h help.c help.h extcmd.c extcmd.h
+-		  caps.c caps.h help.c help.h carbons.c carbons.h
++		  caps.c caps.h help.c help.h carbons.c carbons.h \
++		  extcmd.c extcmd.h
  
  if OTR
  mcabber_SOURCES += otr.c otr.h nohtml.c nohtml.h
-@@ -43,6 +43,7 @@
+@@ -43,6 +44,7 @@
  			 xmpp_iq.h xmpp_iqrequest.h \
  			 xmpp_muc.h xmpp_s10n.h \
  			 caps.h fifo.h help.h modules.h api.h \
@@ -20,9 +21,9 @@
  			 $(top_builddir)/include/config.h
  
  if OTR
-diff -r 75d573fb8845 mcabber/mcabber/extcmd.c
+diff -r fd72b1e3bf26 mcabber/mcabber/extcmd.c
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber/extcmd.c	Sun Jan 27 00:38:57 2013 +0200
++++ b/mcabber/mcabber/extcmd.c	Wed Nov 12 22:24:18 2014 +0200
 @@ -0,0 +1,152 @@
 +/*
 + * extcmd.c      -- External event handler command
@@ -176,9 +177,9 @@
 +}
 +
 +/* vim: set expandtab cindent cinoptions=>2\:2(0 ts=2 sw=2:  For Vim users... */
-diff -r 75d573fb8845 mcabber/mcabber/extcmd.h
+diff -r fd72b1e3bf26 mcabber/mcabber/extcmd.h
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber/extcmd.h	Sun Jan 27 00:38:57 2013 +0200
++++ b/mcabber/mcabber/extcmd.h	Wed Nov 12 22:24:18 2014 +0200
 @@ -0,0 +1,15 @@
 +#ifndef __MCABBER_EXTCMD_H__
 +#define __MCABBER_EXTCMD_H__ 1
@@ -195,9 +196,9 @@
 +void hk_ext_cmd(const char *bjid, const char *type, const char *info, const char *data);
 +
 +#endif
-diff -r 75d573fb8845 mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Fri Jan 18 11:23:51 2013 +0200
-+++ b/mcabber/mcabber/hooks.c	Sun Jan 27 00:38:57 2013 +0200
+diff -r fd72b1e3bf26 mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Wed Nov 12 22:23:32 2014 +0200
++++ b/mcabber/mcabber/hooks.c	Wed Nov 12 22:24:18 2014 +0200
 @@ -24,6 +24,7 @@
  #include <string.h>
  #include <sys/types.h>
@@ -231,7 +232,7 @@
    gboolean attention = FALSE, mucprivmsg = FALSE;
    gboolean error_msg_subtype = (type == LM_MESSAGE_SUB_TYPE_ERROR);
  #ifdef MODULES_ENABLE
-@@ -373,19 +372,6 @@
+@@ -374,19 +373,6 @@
        (!is_room || (is_groupchat && log_muc_conf && !timestamp)))
      hlog_write_message(bjid, timestamp, 0, wmsg);
  
@@ -251,7 +252,7 @@
    // Display the sender in the log window
    if ((!is_groupchat) && !(message_flags & HBB_PREFIX_ERR) &&
        settings_opt_get_int("log_display_sender")) {
-@@ -411,12 +397,24 @@
+@@ -413,12 +399,24 @@
    }
  #endif
  
@@ -277,7 +278,7 @@
  
    // Beep, if enabled:
    // - if it's a private message
-@@ -494,7 +492,7 @@
+@@ -496,7 +494,7 @@
  #endif
  
    // External command
@@ -286,7 +287,7 @@
  
    g_free(bmsg);
    g_free(mmsg);
-@@ -509,10 +507,7 @@
+@@ -511,10 +509,7 @@
    char *bn;
    char *logsmsg;
    const char *rn = (resname ? resname : "");
@@ -298,7 +299,7 @@
  
    oldstat = roster_getstatus(bjid, resname);
  
-@@ -564,27 +559,28 @@
+@@ -566,27 +561,28 @@
    scr_draw_roster();
    hlog_write_status(bjid, timestamp, status, status_msg);
  
@@ -464,10 +465,10 @@
 -}
 -
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r 75d573fb8845 mcabber/mcabber/hooks.h
---- a/mcabber/mcabber/hooks.h	Fri Jan 18 11:23:51 2013 +0200
-+++ b/mcabber/mcabber/hooks.h	Sun Jan 27 00:38:57 2013 +0200
-@@ -66,9 +66,6 @@
+diff -r fd72b1e3bf26 mcabber/mcabber/hooks.h
+--- a/mcabber/mcabber/hooks.h	Wed Nov 12 22:23:32 2014 +0200
++++ b/mcabber/mcabber/hooks.h	Wed Nov 12 22:24:18 2014 +0200
+@@ -67,9 +67,6 @@
  guint hk_subscription(LmMessageSubType mstype, const gchar *bjid,
                        const gchar *msg);
  
@@ -477,9 +478,9 @@
  #endif /* __MCABBER_HOOKS_H__ */
  
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r 75d573fb8845 mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Fri Jan 18 11:23:51 2013 +0200
-+++ b/mcabber/mcabber/main.c	Sun Jan 27 00:38:57 2013 +0200
+diff -r fd72b1e3bf26 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Wed Nov 12 22:23:32 2014 +0200
++++ b/mcabber/mcabber/main.c	Wed Nov 12 22:24:18 2014 +0200
 @@ -19,14 +19,18 @@
   * USA
   */
@@ -507,15 +508,15 @@
  #include <glib.h>
  #include <config.h>
  #include <poll.h>
-@@ -44,6 +48,7 @@
- #include "xmpp.h"
+@@ -45,6 +49,7 @@
  #include "help.h"
  #include "events.h"
+ #include "compl.h"
 +#include "extcmd.h"
  
  #ifndef MODULES_ENABLE
  # include "fifo.h"
-@@ -348,10 +353,10 @@
+@@ -351,10 +356,10 @@
        case 'h':
        case '?':
          printf("Usage: %s [-h|-V|-f mcabberrc_file]\n\n", argv[0]);
@@ -528,7 +529,7 @@
        case 'f':
          configFile = g_strdup(optarg);
          break;
-@@ -360,7 +365,7 @@
+@@ -363,7 +368,7 @@
  
    if (optind < argc) {
      fprintf(stderr, "Usage: %s [-h|-V|-f mcabberrc_file]\n\n", argv[0]);
@@ -537,7 +538,7 @@
    }
  
    /* Initialize command system, roster and default key bindings */
-@@ -529,7 +534,7 @@
+@@ -518,7 +523,7 @@
  
    printf("\n\nThanks for using mcabber!\n");
  
--- a/series	Wed May 15 13:32:42 2013 +0300
+++ b/series	Wed Nov 12 23:04:36 2014 +0200
@@ -1,9 +1,7 @@
-round-high-priority.diff
-automake-fix-deprecated-macro.diff
-use-otr-v4.diff
-fix-date-fill.diff
+update-uk-translation.diff
+fix-compilation-warning.diff
+fix-changelog-api.diff
 fix-nickcolor-memleak.diff
-fix-set-status-rc-xa.diff
 switch-to-experimental.diff
 separate-extcmd.diff
 modularize-extcmd.diff
@@ -12,6 +10,7 @@
 roster-state-colors.diff
 add-cmake.diff
 use-gslice.diff
+fix-date-fill.diff
 timeformat.diff
 cmdopts.diff
 move-rename-jid.diff
--- a/switch-to-experimental.diff	Wed May 15 13:32:42 2013 +0300
+++ b/switch-to-experimental.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,9 +1,25 @@
 [local] Switch to experimental branch and api version
 
-diff -r 6dca189957d2 mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Wed May 15 12:48:53 2013 +0300
-+++ b/mcabber/ChangeLog.api	Wed May 15 12:52:07 2013 +0300
+diff -r a466d2a1ca15 mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Wed Nov 12 00:15:59 2014 +0200
++++ b/mcabber/ChangeLog.api	Wed Nov 12 00:16:06 2014 +0200
 @@ -1,3 +1,12 @@
++experimental (43)
++
++ * Change branch to "experimental".
++ * Api as defined by dev:26
++ * Add MCABBER_BRANCH_EXPERIMENTAL define to api.h
++ * MQ Patch: switch-to-experimental.diff
++
++  -- Myhailo Danylenko, 2014-11-11
++
+ dev (36)
+ 
+  * process_command() does not return value
+@@ -87,6 +96,15 @@
+ 
+   -- Mikael Berthe, 2013-09-29
+ 
 +experimental (41)
 +
 + * Change branch to "experimental".
@@ -16,7 +32,7 @@
  dev (26)
  
   * Changeset 69699ba3010f
-@@ -7,6 +16,15 @@
+@@ -96,6 +114,15 @@
  
    -- Mikael Berthe, 2013-04-28
  
@@ -32,7 +48,7 @@
  dev (25)
  
   * Stable api 0.10.2:1
-@@ -15,6 +33,15 @@
+@@ -104,6 +131,15 @@
  
    -- Mikael Berthe, 2012-11-28
  
@@ -48,7 +64,7 @@
  dev (24)
  
   * Changeset 0cb8ea02e472
-@@ -24,6 +51,15 @@
+@@ -113,6 +149,15 @@
  
    -- Myhailo Danylenko, 2012-10-20
  
@@ -64,7 +80,7 @@
  dev (23)
  
   * Changeset 8dc418af3e72
-@@ -45,6 +81,12 @@
+@@ -134,6 +179,12 @@
  
    -- Hermitifier, 2011-10-03
  
@@ -77,10 +93,10 @@
  dev (20)
  
   * Add cmd_set_safe() and cmd_is_safe()
-diff -r 6dca189957d2 mcabber/configure.ac
---- a/mcabber/configure.ac	Wed May 15 12:48:53 2013 +0300
-+++ b/mcabber/configure.ac	Wed May 15 12:52:07 2013 +0300
-@@ -281,7 +281,7 @@
+diff -r a466d2a1ca15 mcabber/configure.ac
+--- a/mcabber/configure.ac	Wed Nov 12 00:15:59 2014 +0200
++++ b/mcabber/configure.ac	Wed Nov 12 00:16:06 2014 +0200
+@@ -284,7 +284,7 @@
  AM_CONDITIONAL([INSTALL_HEADERS], [test x$enable_modules != xno])
  
  # Prepare some config.h variables
@@ -89,20 +105,19 @@
  AC_DEFINE([MCABBER_VERSION], "AC_PACKAGE_VERSION", [Mcabber version string])
  
  # We need _GNU_SOURCE for strptime() and strcasestr()
-diff -r 6dca189957d2 mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Wed May 15 12:48:53 2013 +0300
-+++ b/mcabber/mcabber/api.h	Wed May 15 12:52:07 2013 +0300
+diff -r a466d2a1ca15 mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Wed Nov 12 00:15:59 2014 +0200
++++ b/mcabber/mcabber/api.h	Wed Nov 12 00:16:06 2014 +0200
 @@ -4,10 +4,10 @@
  #include <glib.h>
  #include <mcabber/config.h> // For MCABBER_BRANCH
  
--#define MCABBER_API_VERSION 26
--#define MCABBER_API_MIN     24
--
+-#define MCABBER_API_VERSION 36
+-#define MCABBER_API_MIN     36
++#define MCABBER_API_VERSION 43
++#define MCABBER_API_MIN     43
+ 
 -#define MCABBER_BRANCH_DEV  1
-+#define MCABBER_API_VERSION 41
-+#define MCABBER_API_MIN     41
-+ 
 +#define MCABBER_BRANCH_EXPERIMENTAL 1
  
  // cmd_add returns gpointer id
--- a/timeformat.diff	Wed May 15 13:32:42 2013 +0300
+++ b/timeformat.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent f6642109fbfb5029d85f3f7c4dc9d93e100d607a
+# Parent 66f6d14c851bd0280966a8263ff4119588775620
 [experimental] Allow user to modify time formatting
 
   * give user full control and full responsibility
@@ -9,10 +9,27 @@
     * time_prefix_len (normal prefix width + 5)
   * fall back to 0, if any of these unset
 
-diff -r f6642109fbfb mcabber/mcabber/screen.c
---- a/mcabber/mcabber/screen.c	Thu Oct 18 00:00:46 2012 +0300
-+++ b/mcabber/mcabber/screen.c	Thu Oct 18 01:49:44 2012 +0300
-@@ -853,38 +853,100 @@
+diff -r 66f6d14c851b mcabber/mcabber/screen.c
+--- a/mcabber/mcabber/screen.c	Tue Nov 11 23:42:00 2014 +0200
++++ b/mcabber/mcabber/screen.c	Tue Nov 11 23:43:05 2014 +0200
+@@ -85,6 +85,7 @@
+ static void scr_end_current_completion(void);
+ static void scr_insert_text(const char*);
+ static void scr_handle_tab(gboolean fwd);
++static unsigned int attention_sign(void);
+ 
+ static void scr_glog_print(const gchar *log_domain, GLogLevelFlags log_level,
+                            const gchar *message, gpointer user_data);
+@@ -222,8 +223,6 @@
+ 
+ /* Functions */
+ 
+-static unsigned int attention_sign(void);
+-
+ static int find_color(const char *name)
+ {
+   int result;
+@@ -875,38 +874,100 @@
  static const char *timeprefixes[] = {
    "%m-%d %H:%M ",
    "%H:%M ",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/update-uk-translation.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -0,0 +1,63 @@
+# HG changeset patch
+# Parent 634cc23e8c1c5764623d17d12170b3fb7d67e5d9
+Update help pages Ukrainian translation
+
+diff -r 634cc23e8c1c mcabber/doc/help/uk/hlp_carbons.txt
+--- a/mcabber/doc/help/uk/hlp_carbons.txt	Fri Oct 17 22:42:07 2014 +0200
++++ b/mcabber/doc/help/uk/hlp_carbons.txt	Wed Nov 12 22:51:49 2014 +0200
+@@ -3,9 +3,11 @@
+  /CARBONS enable
+  /CARBONS disable
+ 
++Вмикає чи вимикає копіювання повідомлень, направлених до інших ресурсів (якщо сервер це підтримує).
++
+ /carbons info
+- Print information about the current state of carbons
++ Показує чи ввімкнено зараз копіювання повідомлень.
+ /carbons enable
+- Enable carbons
++ Вмикає копіювання повідомлень.
+ /carbons disable
+- Disable carbons
++ Вимикає копіювання повідомлень.
+diff -r 634cc23e8c1c mcabber/doc/help/uk/hlp_iline.txt
+--- a/mcabber/doc/help/uk/hlp_iline.txt	Fri Oct 17 22:42:07 2014 +0200
++++ b/mcabber/doc/help/uk/hlp_iline.txt	Wed Nov 12 22:51:49 2014 +0200
+@@ -62,7 +62,7 @@
+ /iline clear_history
+  Спустошити історію командного рядка.
+ /iline compl_do_fwd|compl_do_bwd
+- Доповнити поточне слово.
++ Спробувати доповнити поточне слово (у прямому чи зворотньому порядку).
+ /iline compl_cancel
+  Скасувати попереднє доповнення.
+ /iline send_multiline
+diff -r 634cc23e8c1c mcabber/doc/help/uk/hlp_room.txt
+--- a/mcabber/doc/help/uk/hlp_room.txt	Fri Oct 17 22:42:07 2014 +0200
++++ b/mcabber/doc/help/uk/hlp_room.txt	Wed Nov 12 22:51:49 2014 +0200
+@@ -2,7 +2,7 @@
+  /ROOM join|leave|names|nick|remove|topic|unlock|destroy
+  /ROOM privmsg|invite|whois|kick|ban|unban|role|affil
+  /ROOM setopt print_status|auto_whois|flag_joins [значення]
+- /ROOM bookmark [add|del] [+autojoin|-autojoin] [-|nick] [password]
++ /ROOM bookmark [add|del] [+autojoin|-autojoin] [-|прізвисько] [пароль]
+ 
+ Команда, відповідальна за дії при багатокористувацькій розмові.
+ 
+@@ -20,6 +20,7 @@
+  Потерти поточну кімнату зі списку контактів (ви повинні спочатку вийти).
+ /room topic [-u] -|тема
+  Встановити тему обговорення у поточній кімнаті.
++ Якщо застосувати перемикач -u (unescape), послідовності символів '\n' та '\t' будуть замінені на розрив рядка та табуляцію відповідно.
+  Щоб очистити тему, вкажіть замість неї -.
+ /room unlock
+  Відкрити поточну кімнату (якщо ви її власник).
+@@ -45,7 +46,7 @@
+  auto_whois визначає, чи запитувати автоматично інформацію про новоприбульців до кімнати ("default", "off", "on").
+  flag_joins вказує, чи потрібно підсвічувати кімнату, коли хтось входить чи виходить ("default", "none", "joins", "all").
+  Коли встановлено "default", мають силу глобальні опції muc_print_status / muc_auto_whois / muc_flag_joins.
+-/room bookmark [add|del] [+autojoin|-autojoin] [-|nick] [password]
++/room bookmark [add|del] [+autojoin|-autojoin] [-|прізвисько] [пароль]
+  Додати, потерти, або замінити закладку (якщо не вказано - додасть).
+  Якщо встановити автовхід, mcabber буде заходити в цю кімнату після з'єднання з сервером.
+  Переглянути наявні закладки можна за допомогою /room bookmark у буфері стану.
--- a/use-gslice.diff	Wed May 15 13:32:42 2013 +0300
+++ b/use-gslice.diff	Wed Nov 12 23:04:36 2014 +0200
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent eea31b4da8d02b5e9aaaab062848273610f9d0dd
-[work-in-progress] Use glib slices to allocate constant-size blocks
+# Parent c45500769f0c34734851c9079e57add63d083c25
+Use glib slices to allocate constant-size blocks
 
-diff -r eea31b4da8d0 mcabber/mcabber/caps.c
---- a/mcabber/mcabber/caps.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/caps.c	Wed May 15 12:57:17 2013 +0300
+diff -r c45500769f0c mcabber/mcabber/caps.c
+--- a/mcabber/mcabber/caps.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/caps.c	Wed Nov 12 03:30:06 2014 +0200
 @@ -52,7 +52,7 @@
    g_hash_table_destroy(c->identities);
    g_hash_table_destroy(c->features);
@@ -58,9 +58,9 @@
      char *f = g_strdup(formtype);
  
      d->fields = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, field_destroy);
-diff -r eea31b4da8d0 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/commands.c	Wed May 15 12:57:17 2013 +0300
+diff -r c45500769f0c mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/commands.c	Wed Nov 12 03:30:06 2014 +0200
 @@ -115,7 +115,7 @@
        gpointer userdata = command->userdata;
        Commands = g_slist_delete_link(Commands, sl_cmd);
@@ -79,7 +79,7 @@
    strncpy(n_cmd->name, name, 32-1);
    n_cmd->help = help;
    n_cmd->completion_flags[0] = flags_row1;
-@@ -1581,7 +1581,7 @@
+@@ -1571,7 +1571,7 @@
      return NULL;
    }
  
@@ -88,7 +88,7 @@
    len = fread(msgbuf, 1, HBB_BLOCKSIZE-1, fd);
    fclose(fd);
  
-@@ -1605,7 +1605,7 @@
+@@ -1595,7 +1595,7 @@
    if (*p || (size_t)(p-msgbuf) != len) { // We're not at the End Of Line...
      scr_LogPrint(LPRINT_LOGNORM, "Message file contains "
                   "invalid characters (%s)", filename);
@@ -97,7 +97,7 @@
      return NULL;
    }
  
-@@ -1619,7 +1619,7 @@
+@@ -1609,7 +1609,7 @@
    // It could be empty, once the trailing newlines are gone
    if (p == msgbuf && *p == '\n') {
      scr_LogPrint(LPRINT_LOGNORM, "Message file is empty (%s)", filename);
@@ -106,7 +106,7 @@
      return NULL;
    }
  
-@@ -1628,7 +1628,7 @@
+@@ -1618,7 +1618,7 @@
    if (!msgbuf_utf8 && msgbuf)
      scr_LogPrint(LPRINT_LOGNORM, "Message file charset conversion error (%s)",
                   filename);
@@ -115,7 +115,7 @@
    return msgbuf_utf8;
  }
  
-@@ -1916,7 +1916,7 @@
+@@ -1906,7 +1906,7 @@
    esub   = buddy_getsubscription(bud);
    on_srv = buddy_getonserverflag(bud);
  
@@ -124,7 +124,7 @@
  
    if (bjid) {
      GSList *resources, *p_res;
-@@ -2015,7 +2015,7 @@
+@@ -2005,7 +2005,7 @@
                   type == ROSTER_TYPE_GROUP ? "group" :
                   (type == ROSTER_TYPE_SPECIAL ? "special" : "unknown"));
    }
@@ -133,7 +133,7 @@
  
    // Tell the user if this item has an annotation.
    if (type == ROSTER_TYPE_USER ||
-@@ -2063,7 +2063,7 @@
+@@ -2054,7 +2054,7 @@
  
    bjid = buddy_getjid(bud);
  
@@ -142,16 +142,16 @@
    strncpy(buffer, "Room members:", 127);
    scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0);
  
-@@ -2118,7 +2118,7 @@
-     g_free(p_res->data);
-   }
+@@ -2114,7 +2114,7 @@
+   scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0);
+ 
    g_slist_free(resources);
 -  g_free(buffer);
 +  g_slice_free1(4096, buffer);
  }
  
  static void move_group_member(gpointer bud, void *groupnamedata)
-@@ -3110,7 +3110,7 @@
+@@ -3137,7 +3137,7 @@
    affil = buddy_getaffil(bud, nick);
    realjid = buddy_getrjid(bud, nick);
  
@@ -160,7 +160,7 @@
  
    snprintf(buffer, 4095, "Whois [%s]", nick);
    scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag, 0);
-@@ -3140,7 +3140,7 @@
+@@ -3167,7 +3167,7 @@
  
    scr_WriteIncomingMessage(bjid, "End of WHOIS", 0, msg_flag, 0);
  
@@ -169,9 +169,9 @@
    g_free(nick);
    if (paramlst)
      free_arg_lst(paramlst);
-diff -r eea31b4da8d0 mcabber/mcabber/events.c
---- a/mcabber/mcabber/events.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/events.c	Wed May 15 12:57:17 2013 +0300
+diff -r c45500769f0c mcabber/mcabber/events.c
+--- a/mcabber/mcabber/events.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/events.c	Wed Nov 12 03:30:06 2014 +0200
 @@ -83,7 +83,7 @@
      return NULL;
    }
@@ -199,9 +199,9 @@
    }
    g_slist_free(evs_list);
    evs_list = NULL;
-diff -r eea31b4da8d0 mcabber/mcabber/hbuf.c
---- a/mcabber/mcabber/hbuf.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/hbuf.c	Wed May 15 12:57:17 2013 +0300
+diff -r c45500769f0c mcabber/mcabber/hbuf.c
+--- a/mcabber/mcabber/hbuf.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/hbuf.c	Wed Nov 12 03:30:06 2014 +0200
 @@ -29,7 +29,6 @@
  #include "utf8.h"
  #include "screen.h"
@@ -309,9 +309,9 @@
        (*array_elt)->timestamp  = blk->prefix.timestamp;
        (*array_elt)->flags      = blk->prefix.flags;
        (*array_elt)->mucnicklen = blk->prefix.mucnicklen;
-diff -r eea31b4da8d0 mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/hooks.c	Wed May 15 12:57:17 2013 +0300
+diff -r c45500769f0c mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/hooks.c	Wed Nov 12 03:30:06 2014 +0200
 @@ -99,7 +99,7 @@
                       gint priority, gpointer userdata)
  {
@@ -330,9 +330,9 @@
      *hqueue = g_slist_delete_link(*hqueue, el);
      // Remove hook hash table entry if the hook queue is empty
      if (!*hqueue)
-diff -r eea31b4da8d0 mcabber/mcabber/modules.c
---- a/mcabber/mcabber/modules.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/modules.c	Wed May 15 12:57:17 2013 +0300
+diff -r c45500769f0c mcabber/mcabber/modules.c
+--- a/mcabber/mcabber/modules.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/modules.c	Wed Nov 12 03:30:06 2014 +0200
 @@ -176,7 +176,7 @@
    }
  
@@ -351,10 +351,10 @@
  
    return NULL;
  }
-diff -r eea31b4da8d0 mcabber/mcabber/screen.c
---- a/mcabber/mcabber/screen.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/screen.c	Wed May 15 12:57:17 2013 +0300
-@@ -1314,7 +1314,7 @@
+diff -r c45500769f0c mcabber/mcabber/screen.c
+--- a/mcabber/mcabber/screen.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/screen.c	Wed Nov 12 03:30:06 2014 +0200
+@@ -1360,7 +1360,7 @@
          wattrset(win_entry->win, get_color(COLOR_GENERAL));
  
        g_free(line->text);
@@ -363,10 +363,19 @@
      } else {
        wclrtobot(win_entry->win);
        break;
-diff -r eea31b4da8d0 mcabber/mcabber/settings.c
---- a/mcabber/mcabber/settings.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/settings.c	Wed May 15 12:57:17 2013 +0300
-@@ -458,7 +458,7 @@
+@@ -1374,7 +1374,7 @@
+       scr_buffer_scroll_lock(1);
+     }
+     g_free(line->text);
+-    g_free(line);
++    g_slice_free(hbb_line, line);
+   } else if (autolock && win_entry->bd->lock) {
+     scr_buffer_scroll_lock(0);
+   }
+diff -r c45500769f0c mcabber/mcabber/settings.c
+--- a/mcabber/mcabber/settings.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/settings.c	Wed Nov 12 03:30:06 2014 +0200
+@@ -457,7 +457,7 @@
      // If value is 0, we do not need to create a structure (that's
      // the default value).
      if (value) {
@@ -375,7 +384,7 @@
        pgpdata->pgp_disabled = value;
        g_hash_table_insert(pgpopt, g_strdup(bjid), pgpdata);
      }
-@@ -498,7 +498,7 @@
+@@ -497,7 +497,7 @@
      // If value is 0, we do not need to create a structure (that's
      // the default value).
      if (value) {
@@ -384,7 +393,7 @@
        pgpdata->pgp_force = value;
        g_hash_table_insert(pgpopt, g_strdup(bjid), pgpdata);
      }
-@@ -538,7 +538,7 @@
+@@ -537,7 +537,7 @@
      // If keyid is NULL, we do not need to create a structure (that's
      // the default value).
      if (keyid) {
@@ -393,9 +402,9 @@
        pgpdata->pgp_keyid = g_strdup(keyid);
        g_hash_table_insert(pgpopt, g_strdup(bjid), pgpdata);
      }
-diff -r eea31b4da8d0 mcabber/mcabber/xmpp_iq.c
---- a/mcabber/mcabber/xmpp_iq.c	Wed May 15 12:57:08 2013 +0300
-+++ b/mcabber/mcabber/xmpp_iq.c	Wed May 15 12:57:17 2013 +0300
+diff -r c45500769f0c mcabber/mcabber/xmpp_iq.c
+--- a/mcabber/mcabber/xmpp_iq.c	Wed Nov 12 02:43:42 2014 +0200
++++ b/mcabber/mcabber/xmpp_iq.c	Wed Nov 12 03:30:06 2014 +0200
 @@ -765,7 +765,7 @@
      return LM_HANDLER_RESULT_REMOVE_MESSAGE;
    }
--- a/use-otr-v4.diff	Wed May 15 13:32:42 2013 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,604 +0,0 @@
-# HG changeset patch
-# Parent 1b31bdb72d83850b146a0e1e135eba35bad73d29
-Switch to libotr v4 API
-
-diff -r 1b31bdb72d83 mcabber/configure.ac
---- a/mcabber/configure.ac	Sun Jan 13 04:35:32 2013 +0200
-+++ b/mcabber/configure.ac	Fri Jan 18 11:23:47 2013 +0200
-@@ -183,16 +183,26 @@
- 
- # Check for otr
- AC_ARG_ENABLE(otr,
--              AC_HELP_STRING([--enable-otr],
--                             [enable OTR (Off-the-Record) messaging support]),
--              enable_otr=$enableval, otr="")
-+    AC_HELP_STRING([--enable-otr],
-+                   [enable OTR (Off-the-Record) messaging support]),
-+    enable_otr=$enableval,
-+    otr="")
- if test "x$enable_otr" = "xyes"; then
--  # Look for libgcrypt and libotr
--  AM_PATH_LIBGCRYPT(1.2.2, [
--          AM_PATH_LIBOTR(3.1.0, ,
--                         AC_MSG_ERROR(libotr 3.1.0 or newer is required.))
--      ], AC_MSG_ERROR(libgcrypt 1.2.2 or newer is required.)
--  )
-+    # Look for libgcrypt and libotr
-+    AM_PATH_LIBGCRYPT(1.2.2, [
-+        AM_PATH_LIBOTR(4.0.0, [
-+            AC_DEFINE([HAVE_LIBOTR], 1, [Define if you use libotr])
-+        ], [
-+            AM_PATH_LIBOTR(3.1.0, [
-+                AC_DEFINE([HAVE_LIBOTR], 1, [Define if you use libotr])
-+                AC_DEFINE([HAVE_LIBOTR3], 1, [Define if you use libotr v3])
-+            ], [
-+                AC_MSG_ERROR(libotr 3.1.0 or newer is required.)
-+            ])
-+        ])
-+    ], [
-+        AC_MSG_ERROR(libgcrypt 1.2.2 or newer is required.)
-+    ])
- fi
- 
- # Check for Enchant stuff
-@@ -289,3 +299,4 @@
-                  mcabber.pc
-                  Makefile])
- AC_OUTPUT
-+dnl vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users...
-diff -r 1b31bdb72d83 mcabber/mcabber/otr.c
---- a/mcabber/mcabber/otr.c	Sun Jan 13 04:35:32 2013 +0200
-+++ b/mcabber/mcabber/otr.c	Fri Jan 18 11:23:47 2013 +0200
-@@ -56,6 +56,20 @@
-                                          const char *protocol,
-                                          const char *recipient,
-                                          const char *message);
-+static void       cb_update_context_list(void *opdata);
-+static void       cb_new_fingerprint    (void *opdata, OtrlUserState us,
-+                                         const char *accountname,
-+                                         const char *protocol,
-+                                         const char *username,
-+                                         unsigned char fingerprint[20]);
-+static void       cb_write_fingerprints (void *opdata);
-+static void       cb_gone_secure        (void *opdata, ConnContext *context);
-+static void       cb_gone_insecure      (void *opdata, ConnContext *context);
-+static void       cb_still_secure       (void *opdata, ConnContext *context,
-+                                         int is_reply);
-+static int        cb_max_message_size   (void *opdata, ConnContext *context);
-+
-+#ifdef HAVE_LIBOTR3
- static void       cb_notify             (void *opdata,
-                                          OtrlNotifyLevel level,
-                                          const char *accountname,
-@@ -69,22 +83,26 @@
-                                          const char *protocol,
-                                          const char *username,
-                                          const char *msg);
--static void       cb_update_context_list(void *opdata);
- static const char *cb_protocol_name     (void *opdata, const char *protocol);
- static void       cb_protocol_name_free (void *opdata,
-                                          const char *protocol_name);
--static void       cb_new_fingerprint    (void *opdata, OtrlUserState us,
--                                         const char *accountname,
--                                         const char *protocol,
--                                         const char *username,
--                                         unsigned char fingerprint[20]);
--static void       cb_write_fingerprints (void *opdata);
--static void       cb_gone_secure        (void *opdata, ConnContext *context);
--static void       cb_gone_insecure      (void *opdata, ConnContext *context);
--static void       cb_still_secure       (void *opdata, ConnContext *context,
--                                         int is_reply);
- static void       cb_log_message        (void *opdata, const char *message);
--static int        cb_max_message_size   (void *opdata, ConnContext *context);
-+
-+static void       otr_handle_smp_tlvs   (OtrlTLV *tlvs, ConnContext *ctx);
-+#else /* HAVE_LIBOTR3 */
-+static char *tagfile = NULL;
-+static guint otr_timer_source = 0;
-+
-+static void       cb_handle_smp_event   (void *opdata, OtrlSMPEvent event,
-+                                         ConnContext *context, unsigned short percent,
-+                                         char *question);
-+static void       cb_handle_msg_event   (void *opdata, OtrlMessageEvent event,
-+                                         ConnContext *context, const char *message,
-+                                         gcry_error_t err);
-+static void       cb_create_instag      (void *opdata, const char *accountname,
-+                                         const char *protocol);
-+static void       cb_timer_control      (void *opdata, unsigned int interval);
-+#endif /* HAVE_LIBOTR3 */
- 
- static OtrlMessageAppOps ops =
- {
-@@ -92,26 +110,44 @@
-   cb_create_privkey,
-   cb_is_logged_in,
-   cb_inject_message,
-+#ifdef HAVE_LIBOTR3
-   cb_notify,
-   cb_display_otr_message,
-+#endif
-   cb_update_context_list,
-+#ifdef HAVE_LIBOTR3
-   cb_protocol_name,
-   cb_protocol_name_free,
-+#endif
-   cb_new_fingerprint,
-   cb_write_fingerprints,
-   cb_gone_secure,
-   cb_gone_insecure,
-   cb_still_secure,
-+#ifdef HAVE_LIBOTR3
-   cb_log_message,
-+#endif
-   cb_max_message_size,
--  NULL, /*account_name*/
--  NULL  /*account_name_free*/
-+  NULL, /* account_name */
-+  NULL, /* account_name_free */
-+#ifndef HAVE_LIBOTR3
-+  NULL, /* received_symkey */
-+  NULL, /* otr_error_message */
-+  NULL, /* otr_error_message_free */
-+  NULL, /* resent_msg_prefix */
-+  NULL, /* resent_msg_prefix_free */
-+  cb_handle_smp_event,
-+  cb_handle_msg_event,
-+  cb_create_instag,
-+  NULL, /* convert_msg */
-+  NULL, /* convert_free */
-+  cb_timer_control,
-+#endif
- };
- 
- static void otr_message_disconnect(ConnContext *ctx);
- static ConnContext *otr_get_context(const char *buddy);
- static void otr_startstop(const char *buddy, int start);
--static void otr_handle_smp_tlvs(OtrlTLV *tlvs, ConnContext *ctx);
- 
- static char *otr_get_dir(void);
- 
-@@ -135,7 +171,6 @@
-   account = jidtodisp(fjid);
-   keyfile = g_strdup_printf("%s%s.key", root, account);
-   fprfile = g_strdup_printf("%s%s.fpr", root, account);
--  g_free(root);
- 
-   if (otrl_privkey_read(userstate, keyfile)){
-     scr_LogPrint(LPRINT_LOGNORM, "Could not read OTR key from %s", keyfile);
-@@ -145,6 +180,14 @@
-     scr_LogPrint(LPRINT_LOGNORM, "Could not read OTR fingerprints from %s",
-                  fprfile);
-   }
-+#ifndef HAVE_LIBOTR3
-+  tagfile = g_strdup_printf("%s%s.tag", root, account);
-+  if (otrl_instag_read(userstate, tagfile)) {
-+    scr_LogPrint(LPRINT_LOGNORM, "Could not read OTR instance tag from %s", tagfile);
-+    cb_create_instag(NULL, account, OTR_PROTOCOL_NAME);
-+  }
-+#endif
-+  g_free(root);
- }
- 
- void otr_terminate(void)
-@@ -154,6 +197,13 @@
-   if (!otr_is_enabled)
-     return;
- 
-+#ifndef HAVE_LIBOTR3
-+  if (otr_timer_source > 0) {
-+    g_source_remove (otr_timer_source);
-+    otr_timer_source = 0;
-+  }
-+#endif
-+
-   for (ctx = userstate->context_root; ctx; ctx = ctx->next)
-     if (ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED)
-       otr_message_disconnect(ctx);
-@@ -175,6 +225,12 @@
-   userstate = NULL;
-   g_free(keyfile);
-   keyfile = NULL;
-+  g_free(fprfile);
-+  fprfile = NULL;
-+#ifndef HAVE_LIBOTR3
-+  g_free(tagfile);
-+  tagfile = NULL;
-+#endif
- }
- 
- static char *otr_get_dir(void)
-@@ -206,7 +262,12 @@
- 
-   mc_strtolower(lowcasebuddy);
-   ctx = otrl_context_find(userstate, lowcasebuddy, account, OTR_PROTOCOL_NAME,
-+#ifdef HAVE_LIBOTR3
-                           1, &null, NULL, NULL);
-+#else
-+                          // INSTAG XXX
-+                          OTRL_INSTAG_BEST, 1, &null, NULL, NULL);
-+#endif
-   g_free(lowcasebuddy);
-   return ctx;
- }
-@@ -216,7 +277,12 @@
-   if (ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED)
-     cb_gone_insecure(NULL, ctx);
-   otrl_message_disconnect(userstate, &ops, NULL, ctx->accountname,
-+#ifdef HAVE_LIBOTR3
-                           ctx->protocol, ctx->username);
-+#else
-+                          // INSTAG XXX
-+                          ctx->protocol, ctx->username, OTRL_INSTAG_BEST);
-+#endif
- }
- 
- static void otr_startstop(const char *buddy, int start)
-@@ -283,6 +349,8 @@
-   cb_write_fingerprints(NULL);
- }
- 
-+#ifdef HAVE_LIBOTR3
-+
- static void otr_handle_smp_tlvs(OtrlTLV *tlvs, ConnContext *ctx)
- {
-   OtrlTLV *tlv = NULL;
-@@ -354,6 +422,130 @@
-   }
- }
- 
-+#else /* HAVE_LIBOTR3 */
-+
-+static void cb_handle_smp_event(void *opdata, OtrlSMPEvent event,
-+                                ConnContext *context, unsigned short percent,
-+                                char *question)
-+{
-+  const char *msg = NULL;
-+  char *freeme = NULL;
-+  switch (event) {
-+    case OTRL_SMPEVENT_ASK_FOR_SECRET:
-+      msg = freeme = g_strdup_printf("OTR: Socialist Millionaires' Protocol: "
-+                                     "Received SMP Initiation.\n"
-+                                     "Answer with /otr smpr %s $secret",
-+                                     context->username);
-+      break;
-+    case OTRL_SMPEVENT_ASK_FOR_ANSWER:
-+      msg = freeme = g_strdup_printf("OTR: Socialist Millionaires' Protocol: "
-+                                     "Received SMP Initiation.\n"
-+                                     "Answer with /otr smpr %s $secret\n"
-+                                     "Question: %s", context->username,
-+                                     question);
-+      break;
-+    case OTRL_SMPEVENT_CHEATED:
-+      msg = "OTR: Socialist Millionaires' Protocol: Correspondent cancelled negotiation!";
-+      otrl_message_abort_smp(userstate, &ops, opdata, context);
-+      break;
-+    case OTRL_SMPEVENT_IN_PROGRESS:
-+      scr_log_print(LPRINT_DEBUG, "OTR: Socialist Millionaires' Protocol: "
-+                                  "Negotiation is in pogress...");
-+      break;
-+    case OTRL_SMPEVENT_SUCCESS:
-+      msg = "OTR: Socialist Millionaires' Protocol: Success!";
-+      break;
-+    case OTRL_SMPEVENT_FAILURE:
-+      msg = "OTR: Socialist Millionaires' Protocol: Failure.";
-+      break;
-+    case OTRL_SMPEVENT_ABORT:
-+      msg = "OTR: Socialist Millionaires' Protocol: Aborted.";
-+      break;
-+    case OTRL_SMPEVENT_ERROR:
-+      msg = "OTR: Socialist Millionaires' Protocol: Error occured, aborting negotiations!";
-+      otrl_message_abort_smp(userstate, &ops, opdata, context);
-+      break;
-+    default:
-+      break;
-+  }
-+
-+  if (msg) {
-+    scr_WriteIncomingMessage(context->username, msg, 0, HBB_PREFIX_INFO, 0);
-+    g_free(freeme);
-+  }
-+}
-+
-+static void cb_handle_msg_event(void *opdata, OtrlMessageEvent event,
-+                                ConnContext *context, const char *message,
-+                                gcry_error_t err)
-+{
-+  const char *msg = NULL;
-+  char *freeme = NULL;
-+  switch (event) {
-+    case OTRL_MSGEVENT_ENCRYPTION_REQUIRED:
-+      msg = "OTR: Policy requires encryption on message!";
-+      break;
-+    case OTRL_MSGEVENT_ENCRYPTION_ERROR:
-+      msg = "OTR: Encryption error! Message not sent.";
-+      break;
-+    case OTRL_MSGEVENT_CONNECTION_ENDED:
-+      msg = "OTR: Connection closed by remote end, message lost. "
-+            "Close or refresh connection.";
-+      break;
-+    case OTRL_MSGEVENT_SETUP_ERROR:
-+      // FIXME
-+      msg = freeme = g_strdup_printf("OTR: Error setting up private conversation: %u",
-+                                     err);
-+      break;
-+    case OTRL_MSGEVENT_MSG_REFLECTED:
-+      msg = "OTR: Received own OTR message!";
-+      break;
-+    case OTRL_MSGEVENT_MSG_RESENT:
-+      msg = "OTR: Previous message was resent.";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_NOT_IN_PRIVATE:
-+      msg = "OTR: Received encrypted message, but connection is not established " \
-+            "yet! Message lost.";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_UNREADABLE:
-+      msg = "OTR: Unable to read incoming message!";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_MALFORMED:
-+      msg = "OTR: Malformed incoming message!";
-+      break;
-+    case OTRL_MSGEVENT_LOG_HEARTBEAT_RCVD:
-+      scr_log_print(LPRINT_DEBUG, "OTR: Received heartbeat.");
-+      break;
-+    case OTRL_MSGEVENT_LOG_HEARTBEAT_SENT:
-+      scr_log_print(LPRINT_DEBUG, "OTR: Sent heartbeat.");
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_GENERAL_ERR:
-+      msg = freeme = g_strdup_printf("OTR: Received general otr error: %s",
-+                                     message);
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_UNENCRYPTED:
-+      msg = freeme = g_strdup_printf("OTR: Received unencrypted message: %s",
-+                                     message);
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_UNRECOGNIZED:
-+      msg = "OTR: Unable to determine type of received OTR message!";
-+      break;
-+    case OTRL_MSGEVENT_RCVDMSG_FOR_OTHER_INSTANCE:
-+      // XXX
-+      scr_log_print(LPRINT_DEBUG, "OTR: Received message for other instance.");
-+      break;
-+    default:
-+      break;
-+  }
-+
-+  if (msg) {
-+    scr_WriteIncomingMessage(context->username, msg, 0, HBB_PREFIX_INFO, 0);
-+    g_free(freeme);
-+  }
-+}
-+
-+#endif /* HAVE_LIBOTR3 */
-+
- /*
-  * returns whether a otr_message was received
-  * sets *otr_data to NULL, when it was an internal otr message
-@@ -362,8 +554,10 @@
- {
-   int ignore_message;
-   char *newmessage = NULL;
-+#ifdef HAVE_LIBOTR3
-   OtrlTLV *tlvs = NULL;
-   OtrlTLV *tlv = NULL;
-+#endif
-   ConnContext *ctx;
- 
-   ctx = otr_get_context(buddy);
-@@ -371,8 +565,8 @@
-   ignore_message = otrl_message_receiving(userstate, &ops, NULL,
-                                           ctx->accountname, ctx->protocol,
-                                           ctx->username, *otr_data,
--                                          &newmessage, &tlvs,NULL, NULL);
--
-+#ifdef HAVE_LIBOTR3
-+                                          &newmessage, &tlvs, NULL, NULL);
- 
-   tlv = otrl_tlv_find(tlvs, OTRL_TLV_DISCONNECTED);
-   if (tlv) {
-@@ -387,6 +581,9 @@
- 
-   if (tlvs != NULL)
-     otrl_tlv_free(tlvs);
-+#else
-+                                          &newmessage, NULL, NULL, NULL, NULL);
-+#endif
- 
-   if (ignore_message)
-     *otr_data = NULL;
-@@ -410,13 +607,27 @@
- 
-   if (ctx->msgstate == OTRL_MSGSTATE_PLAINTEXT)
-     err = otrl_message_sending(userstate, &ops, NULL, ctx->accountname,
-+#ifdef HAVE_LIBOTR3
-                                ctx->protocol, ctx->username, *msg, NULL,
-                                &newmessage, NULL, NULL);
-+#else
-+                               // INSTAG XXX
-+                               ctx->protocol, ctx->username, OTRL_INSTAG_BEST,
-+                               *msg, NULL, &newmessage, OTRL_FRAGMENT_SEND_SKIP,
-+                               NULL, NULL, NULL);
-+#endif
-   else {
-     htmlmsg = html_escape(*msg);
-     err = otrl_message_sending(userstate, &ops, NULL, ctx->accountname,
-+#ifdef HAVE_LIBOTR3
-                                ctx->protocol, ctx->username, htmlmsg, NULL,
-                                &newmessage, NULL, NULL);
-+#else
-+                               // INSTAG XXX
-+                               ctx->protocol, ctx->username, OTRL_INSTAG_BEST,
-+                               htmlmsg, NULL, &newmessage, OTRL_FRAGMENT_SEND_SKIP,
-+                               NULL, NULL, NULL);
-+#endif
-     g_free(htmlmsg);
-   }
- 
-@@ -648,42 +859,6 @@
-                   LM_MESSAGE_SUB_TYPE_NOT_SET, NULL);
- }
- 
--/* Display a notification message for a particular
-- * accountname / protocol / username conversation. */
--static void cb_notify(void *opdata, OtrlNotifyLevel level,
--                      const char *accountname, const char *protocol,
--                      const char *username, const char *title,
--                      const char *primary, const char *secondary)
--{
--  char *type;
--  char *sbuf = NULL;
--  switch (level) {
--    case OTRL_NOTIFY_ERROR:   type = "error";   break;
--    case OTRL_NOTIFY_WARNING: type = "warning"; break;
--    case OTRL_NOTIFY_INFO:    type = "info";    break;
--    default:                  type = "unknown";
--  }
--  sbuf = g_strdup_printf("OTR %s:%s\n%s\n%s",type,title, primary, secondary);
--  scr_WriteIncomingMessage(username, sbuf, 0, HBB_PREFIX_INFO, 0);
--  g_free(sbuf);
--}
--
--/* Display an OTR control message for a particular
-- * accountname / protocol / username conversation.  Return 0 if you are able
-- * to successfully display it.  If you return non-0 (or if this
-- * function is NULL), the control message will be displayed inline,
-- * as a received message, or else by using the above notify()
-- * callback. */
--static int cb_display_otr_message(void *opdata, const char *accountname,
--                                  const char *protocol, const char *username,
--                                  const char *msg)
--{
--  char *strippedmsg = html_strip(msg);
--  scr_WriteIncomingMessage(username, strippedmsg, 0, HBB_PREFIX_INFO, 0);
--  g_free(strippedmsg);
--  return 0;
--}
--
- /* When the list of ConnContexts changes (including a change in
-  * state), this is called so the UI can be updated. */
- static void cb_update_context_list(void *opdata)
-@@ -692,19 +867,6 @@
-    * then use this function (?!)*/
- }
- 
--/* Return a newly allocated string containing a human-friendly name
-- * for the given protocol id */
--static const char *cb_protocol_name(void *opdata, const char *protocol)
--{
--  return protocol;
--}
--
--/* Deallocate a string allocated by protocol_name */
--static void cb_protocol_name_free (void *opdata, const char *protocol_name)
--{
--  /* We didn't allocated memory, so we don't have to free anything :p */
--}
--
- /* A new fingerprint for the given user has been received. */
- static void cb_new_fingerprint(void *opdata, OtrlUserState us,
-                                const char *accountname, const char *protocol,
-@@ -748,12 +910,92 @@
-                            HBB_PREFIX_INFO, 0);
- }
- 
-+#ifdef HAVE_LIBOTR3
-+
-+/* Display a notification message for a particular
-+ * accountname / protocol / username conversation. */
-+static void cb_notify(void *opdata, OtrlNotifyLevel level,
-+                      const char *accountname, const char *protocol,
-+                      const char *username, const char *title,
-+                      const char *primary, const char *secondary)
-+{
-+  char *type;
-+  char *sbuf = NULL;
-+  switch (level) {
-+    case OTRL_NOTIFY_ERROR:   type = "error";   break;
-+    case OTRL_NOTIFY_WARNING: type = "warning"; break;
-+    case OTRL_NOTIFY_INFO:    type = "info";    break;
-+    default:                  type = "unknown";
-+  }
-+  sbuf = g_strdup_printf("OTR %s:%s\n%s\n%s",type,title, primary, secondary);
-+  scr_WriteIncomingMessage(username, sbuf, 0, HBB_PREFIX_INFO, 0);
-+  g_free(sbuf);
-+}
-+
-+/* Display an OTR control message for a particular
-+ * accountname / protocol / username conversation.  Return 0 if you are able
-+ * to successfully display it.  If you return non-0 (or if this
-+ * function is NULL), the control message will be displayed inline,
-+ * as a received message, or else by using the above notify()
-+ * callback. */
-+static int cb_display_otr_message(void *opdata, const char *accountname,
-+                                  const char *protocol, const char *username,
-+                                  const char *msg)
-+{
-+  char *strippedmsg = html_strip(msg);
-+  scr_WriteIncomingMessage(username, strippedmsg, 0, HBB_PREFIX_INFO, 0);
-+  g_free(strippedmsg);
-+  return 0;
-+}
-+
-+/* Return a newly allocated string containing a human-friendly name
-+ * for the given protocol id */
-+static const char *cb_protocol_name(void *opdata, const char *protocol)
-+{
-+  return protocol;
-+}
-+
-+/* Deallocate a string allocated by protocol_name */
-+static void cb_protocol_name_free (void *opdata, const char *protocol_name)
-+{
-+  /* We didn't allocated memory, so we don't have to free anything :p */
-+}
-+
- /* Log a message.  The passed message will end in "\n". */
- static void cb_log_message(void *opdata, const char *message)
- {
-   scr_LogPrint(LPRINT_DEBUG, "OTR: %s", message);
- }
- 
-+#else /* HAVE_LIBOTR3 */
-+
-+/* Generate unique instance tag for account. */
-+static void cb_create_instag(void *opdata, const char *accountname,
-+                             const char *protocol)
-+{
-+  if (otrl_instag_generate(userstate, tagfile, accountname, protocol)) {
-+    scr_LogPrint(LPRINT_LOGNORM, "OTR instance tag generation failed!");
-+  }
-+}
-+
-+static gboolean otr_timer_cb(gpointer userdata)
-+{
-+  otrl_message_poll(userstate, &ops, userdata);
-+  return TRUE;
-+}
-+
-+static void cb_timer_control(void *opdata, unsigned int interval)
-+{
-+  if (otr_timer_source > 0) {
-+    g_source_remove(otr_timer_source);
-+    otr_timer_source = 0;
-+  }
-+  if (interval > 0)
-+    otr_timer_source = g_timeout_add_seconds(interval, otr_timer_cb, opdata);
-+}
-+
-+#endif /* HAVE_LIBOTR3 */
-+
- /* Find the maximum message size supported by this protocol. */
- static int cb_max_message_size(void *opdata, ConnContext *context)
- {
-diff -r 1b31bdb72d83 mcabber/mcabber/otr.h
---- a/mcabber/mcabber/otr.h	Sun Jan 13 04:35:32 2013 +0200
-+++ b/mcabber/mcabber/otr.h	Fri Jan 18 11:23:47 2013 +0200
-@@ -5,6 +5,9 @@
- 
- #ifdef HAVE_LIBOTR
- 
-+#ifndef HAVE_LIBOTR3
-+# include <libotr/instag.h>
-+#endif
- #include <libotr/proto.h>
- #include <libotr/message.h>
- #include <libotr/privkey.h>