Rebase to dev:15
authorMyhailo Danylenko <isbear@ukrpost.net>
Fri, 23 Apr 2010 13:11:40 +0300
changeset 14 020fbfb5441c
parent 13 ce6711e64d02
child 15 33f6407d1e70
Rebase to dev:15 Api shift: dev:14, 25, 26, 27, 28 -> dev:15, 29, 30, 31, 32
cmd-del-id
cmd-dynamic-restriction-list
direct-invite
modularize-extcmd
muc-multiple-statuses
separate-extcmd
series
switch-to-experimental
update-changelog-v26
update-changelog-v27
update-changelog-v28
update-changelog-v30
update-changelog-v31
update-changelog-v32
--- a/cmd-del-id	Tue Apr 13 01:37:44 2010 +0300
+++ b/cmd-del-id	Fri Apr 23 13:11:40 2010 +0300
@@ -1,20 +1,20 @@
-diff -r 5b22a5d41894 mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Sun Apr 11 20:46:03 2010 +0300
-+++ b/mcabber/mcabber/api.h	Sun Apr 11 20:48:09 2010 +0300
+diff -r 4265c0900bb0 mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Fri Apr 23 13:03:25 2010 +0300
++++ b/mcabber/mcabber/api.h	Fri Apr 23 13:04:19 2010 +0300
 @@ -3,8 +3,8 @@
  
  #include <mcabber/config.h> // For MCABBER_BRANCH
  
--#define MCABBER_API_VERSION 26
--#define MCABBER_API_MIN     25
-+#define MCABBER_API_VERSION 27
-+#define MCABBER_API_MIN     27
+-#define MCABBER_API_VERSION 30
+-#define MCABBER_API_MIN     29
++#define MCABBER_API_VERSION 31
++#define MCABBER_API_MIN     31
  
- #define MCABBER_BRANCH_EXPERIMENTAL 1
- 
-diff -r 5b22a5d41894 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Sun Apr 11 20:46:03 2010 +0300
-+++ b/mcabber/mcabber/commands.c	Sun Apr 11 20:48:09 2010 +0300
+ extern const gchar *mcabber_branch;
+ extern const guint mcabber_api_version;
+diff -r 4265c0900bb0 mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Fri Apr 23 13:03:25 2010 +0300
++++ b/mcabber/mcabber/commands.c	Fri Apr 23 13:04:19 2010 +0300
 @@ -99,27 +99,26 @@
  #ifdef MODULES_ENABLE
  #include "modules.h"
@@ -57,9 +57,9 @@
  }
  
  //  cmd_init()
-diff -r 5b22a5d41894 mcabber/mcabber/commands.h
---- a/mcabber/mcabber/commands.h	Sun Apr 11 20:46:03 2010 +0300
-+++ b/mcabber/mcabber/commands.h	Sun Apr 11 20:48:09 2010 +0300
+diff -r 4265c0900bb0 mcabber/mcabber/commands.h
+--- a/mcabber/mcabber/commands.h	Fri Apr 23 13:03:25 2010 +0300
++++ b/mcabber/mcabber/commands.h	Fri Apr 23 13:04:19 2010 +0300
 @@ -20,8 +20,9 @@
  int  process_command(const char *line, guint iscmd);
  char *expandalias(const char *line);
@@ -72,9 +72,9 @@
  #endif
  
  void cmd_room_whois(gpointer bud, char *nick_locale, guint interactive);
-diff -r 5b22a5d41894 mcabber/modules/beep/beep.c
---- a/mcabber/modules/beep/beep.c	Sun Apr 11 20:46:03 2010 +0300
-+++ b/mcabber/modules/beep/beep.c	Sun Apr 11 20:48:09 2010 +0300
+diff -r 4265c0900bb0 mcabber/modules/beep/beep.c
+--- a/mcabber/modules/beep/beep.c	Fri Apr 23 13:03:25 2010 +0300
++++ b/mcabber/modules/beep/beep.c	Fri Apr 23 13:04:19 2010 +0300
 @@ -46,8 +46,9 @@
          .next            = NULL,
  };
--- a/cmd-dynamic-restriction-list	Tue Apr 13 01:37:44 2010 +0300
+++ b/cmd-dynamic-restriction-list	Fri Apr 23 13:11:40 2010 +0300
@@ -1,18 +1,18 @@
-diff -r e03029f93159 mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Sun Apr 11 20:48:26 2010 +0300
-+++ b/mcabber/mcabber/api.h	Sun Apr 11 20:48:54 2010 +0300
+diff -r 088c2ca66ccf mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Fri Apr 23 13:06:05 2010 +0300
++++ b/mcabber/mcabber/api.h	Fri Apr 23 13:07:28 2010 +0300
 @@ -3,7 +3,7 @@
  
  #include <mcabber/config.h> // For MCABBER_BRANCH
  
--#define MCABBER_API_VERSION 27
-+#define MCABBER_API_VERSION 28
- #define MCABBER_API_MIN     27
+-#define MCABBER_API_VERSION 31
++#define MCABBER_API_VERSION 32
+ #define MCABBER_API_MIN     31
  
- #define MCABBER_BRANCH_EXPERIMENTAL 1
-diff -r e03029f93159 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Sun Apr 11 20:48:26 2010 +0300
-+++ b/mcabber/mcabber/commands.c	Sun Apr 11 20:48:54 2010 +0300
+ extern const gchar *mcabber_branch;
+diff -r 088c2ca66ccf mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Fri Apr 23 13:06:05 2010 +0300
++++ b/mcabber/mcabber/commands.c	Fri Apr 23 13:07:28 2010 +0300
 @@ -95,6 +95,7 @@
  
  // Global variable for the commands list
@@ -81,9 +81,9 @@
    // Status category
    compl_add_category_word(COMPL_STATUS, "online");
    compl_add_category_word(COMPL_STATUS, "avail");
-diff -r e03029f93159 mcabber/mcabber/commands.h
---- a/mcabber/mcabber/commands.h	Sun Apr 11 20:48:26 2010 +0300
-+++ b/mcabber/mcabber/commands.h	Sun Apr 11 20:48:54 2010 +0300
+diff -r 088c2ca66ccf mcabber/mcabber/commands.h
+--- a/mcabber/mcabber/commands.h	Fri Apr 23 13:06:05 2010 +0300
++++ b/mcabber/mcabber/commands.h	Fri Apr 23 13:07:28 2010 +0300
 @@ -23,7 +23,9 @@
  gpointer cmd_del(gpointer id);
  gpointer cmd_add(const char *name, const char *help, guint flags1, guint flags2,
@@ -94,9 +94,9 @@
  
  void cmd_room_whois(gpointer bud, char *nick_locale, guint interactive);
  void cmd_room_leave(gpointer bud, char *arg);
-diff -r e03029f93159 mcabber/mcabber/settings.c
---- a/mcabber/mcabber/settings.c	Sun Apr 11 20:48:26 2010 +0300
-+++ b/mcabber/mcabber/settings.c	Sun Apr 11 20:48:54 2010 +0300
+diff -r 088c2ca66ccf mcabber/mcabber/settings.c
+--- a/mcabber/mcabber/settings.c	Fri Apr 23 13:06:05 2010 +0300
++++ b/mcabber/mcabber/settings.c	Fri Apr 23 13:07:28 2010 +0300
 @@ -185,44 +185,27 @@
  
      // We only allow assignments line, except for commands "pgp", "source",
--- a/direct-invite	Tue Apr 13 01:37:44 2010 +0300
+++ b/direct-invite	Fri Apr 23 13:11:40 2010 +0300
@@ -1,20 +1,20 @@
-diff -r f0f61224776a mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Sun Apr 11 20:44:48 2010 +0300
-+++ b/mcabber/mcabber/api.h	Sun Apr 11 20:45:20 2010 +0300
+diff -r db72ee2ec90f mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Fri Apr 23 12:56:42 2010 +0300
++++ b/mcabber/mcabber/api.h	Fri Apr 23 12:57:25 2010 +0300
 @@ -3,7 +3,7 @@
  
  #include <mcabber/config.h> // For MCABBER_BRANCH
  
--#define MCABBER_API_VERSION 25
-+#define MCABBER_API_VERSION 26
- #define MCABBER_API_MIN     25
+-#define MCABBER_API_VERSION 29
++#define MCABBER_API_VERSION 30
+ #define MCABBER_API_MIN     29
  
- #define MCABBER_BRANCH_EXPERIMENTAL 1
-diff -r f0f61224776a mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c	Sun Apr 11 20:44:48 2010 +0300
-+++ b/mcabber/mcabber/xmpp.c	Sun Apr 11 20:45:20 2010 +0300
-@@ -1294,6 +1294,18 @@
-                                    "http://jabber.org/protocol/muc#user");
+ extern const gchar *mcabber_branch;
+diff -r db72ee2ec90f mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c	Fri Apr 23 12:56:42 2010 +0300
++++ b/mcabber/mcabber/xmpp.c	Fri Apr 23 12:57:25 2010 +0300
+@@ -1300,6 +1300,18 @@
+     x = lm_message_node_find_xmlns(m->node, NS_MUC_USER);
      if (x && !strcmp(x->name, "x"))
        got_muc_message(from, x);
 +
@@ -32,9 +32,9 @@
    }
  
    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
-diff -r f0f61224776a mcabber/mcabber/xmpp_defines.h
---- a/mcabber/mcabber/xmpp_defines.h	Sun Apr 11 20:44:48 2010 +0300
-+++ b/mcabber/mcabber/xmpp_defines.h	Sun Apr 11 20:45:20 2010 +0300
+diff -r db72ee2ec90f mcabber/mcabber/xmpp_defines.h
+--- a/mcabber/mcabber/xmpp_defines.h	Fri Apr 23 12:56:42 2010 +0300
++++ b/mcabber/mcabber/xmpp_defines.h	Fri Apr 23 12:57:25 2010 +0300
 @@ -27,6 +27,8 @@
  #define NS_BROWSE    "jabber:iq:browse"
  #define NS_EVENT     "jabber:x:event"
@@ -44,10 +44,10 @@
  #define NS_SIGNED    "jabber:x:signed"
  #define NS_ENCRYPTED "jabber:x:encrypted"
  #define NS_GATEWAY   "jabber:iq:gateway"
-diff -r f0f61224776a mcabber/mcabber/xmpp_helper.c
---- a/mcabber/mcabber/xmpp_helper.c	Sun Apr 11 20:44:48 2010 +0300
-+++ b/mcabber/mcabber/xmpp_helper.c	Sun Apr 11 20:45:20 2010 +0300
-@@ -232,6 +232,7 @@
+diff -r db72ee2ec90f mcabber/mcabber/xmpp_helper.c
+--- a/mcabber/mcabber/xmpp_helper.c	Fri Apr 23 12:56:42 2010 +0300
++++ b/mcabber/mcabber/xmpp_helper.c	Fri Apr 23 12:57:25 2010 +0300
+@@ -234,6 +234,7 @@
    caps_add_feature("", NS_PING);
    caps_add_feature("", NS_COMMANDS);
    caps_add_feature("", NS_RECEIPTS);
@@ -55,9 +55,9 @@
    if (!settings_opt_get_int("iq_last_disable") &&
        (!settings_opt_get_int("iq_last_disable_when_notavail") ||
         status != notavail))
-diff -r f0f61224776a mcabber/mcabber/xmpp_muc.c
---- a/mcabber/mcabber/xmpp_muc.c	Sun Apr 11 20:44:48 2010 +0300
-+++ b/mcabber/mcabber/xmpp_muc.c	Sun Apr 11 20:45:20 2010 +0300
+diff -r db72ee2ec90f mcabber/mcabber/xmpp_muc.c
+--- a/mcabber/mcabber/xmpp_muc.c	Fri Apr 23 12:56:42 2010 +0300
++++ b/mcabber/mcabber/xmpp_muc.c	Fri Apr 23 12:57:25 2010 +0300
 @@ -39,6 +39,8 @@
  extern enum imstatus mystatus;
  extern gchar *mystatusmsg;
@@ -67,7 +67,7 @@
  static void decline_invitation(event_muc_invitation *invitation, const char *reason)
  {
    // cut and paste from xmpp_room_invite
-@@ -66,10 +68,12 @@
+@@ -65,10 +67,12 @@
  
  void destroy_event_muc_invitation(event_muc_invitation *invitation)
  {
@@ -80,7 +80,7 @@
    g_free(invitation);
  }
  
-@@ -105,7 +109,8 @@
+@@ -104,7 +108,8 @@
      g_free(nickname);
    } else {
      scr_LogPrint(LPRINT_LOGNORM, "Invitation to %s refused.", invitation->to);
@@ -90,7 +90,7 @@
    }
  
    return FALSE;
-@@ -642,14 +647,12 @@
+@@ -645,14 +650,12 @@
    g_free(to);
  }
  
@@ -108,7 +108,7 @@
  {
    GString *sbuf;
    char *barejid;
-@@ -669,7 +672,21 @@
+@@ -672,7 +675,21 @@
    scr_WriteIncomingMessage(barejid, sbuf->str, 0, HBB_PREFIX_INFO, 0);
    scr_LogPrint(LPRINT_LOGNORM, "%s", sbuf->str);
  
@@ -131,7 +131,7 @@
      const char *id;
      char *desc = g_strdup_printf("<%s> invites you to %s", from, to);
      event_muc_invitation *invitation;
-@@ -679,13 +696,18 @@
+@@ -682,13 +699,18 @@
      invitation->from = g_strdup(from);
      invitation->passwd = g_strdup(passwd);
      invitation->reason = g_strdup(reason);
@@ -152,7 +152,7 @@
        g_string_printf(sbuf, "Unable to create a new event!");
    }
    scr_WriteIncomingMessage(barejid, sbuf->str, 0, HBB_PREFIX_INFO, 0);
-@@ -717,7 +739,7 @@
+@@ -720,7 +742,7 @@
      reason = lm_message_node_get_child_value(invite, "reason");
      password = lm_message_node_get_child_value(invite, "password");
      if (invite_from)
@@ -161,9 +161,9 @@
    }
    // TODO
    // handle status code = 100 ( not anonymous )
-diff -r f0f61224776a mcabber/mcabber/xmpp_muc.h
---- a/mcabber/mcabber/xmpp_muc.h	Sun Apr 11 20:44:48 2010 +0300
-+++ b/mcabber/mcabber/xmpp_muc.h	Sun Apr 11 20:45:20 2010 +0300
+diff -r db72ee2ec90f mcabber/mcabber/xmpp_muc.h
+--- a/mcabber/mcabber/xmpp_muc.h	Fri Apr 23 12:56:42 2010 +0300
++++ b/mcabber/mcabber/xmpp_muc.h	Fri Apr 23 12:57:25 2010 +0300
 @@ -6,10 +6,14 @@
    char *from;
    char *passwd;
--- a/modularize-extcmd	Tue Apr 13 01:37:44 2010 +0300
+++ b/modularize-extcmd	Fri Apr 23 13:11:40 2010 +0300
@@ -1,6 +1,6 @@
-diff -r 76a0b8b7f1e6 mcabber/configure.ac
---- a/mcabber/configure.ac	Sun Apr 11 20:32:20 2010 +0300
-+++ b/mcabber/configure.ac	Sun Apr 11 20:44:40 2010 +0300
+diff -r 679b2fae7b2f mcabber/configure.ac
+--- a/mcabber/configure.ac	Fri Apr 23 12:58:45 2010 +0300
++++ b/mcabber/configure.ac	Fri Apr 23 13:00:02 2010 +0300
 @@ -283,6 +283,7 @@
                   modules/beep/Makefile
                   modules/xttitle/Makefile
@@ -9,9 +9,9 @@
                   doc/Makefile
                   doc/guide/Makefile
                   doc/help/Makefile
-diff -r 76a0b8b7f1e6 mcabber/mcabber/Makefile.am
---- a/mcabber/mcabber/Makefile.am	Sun Apr 11 20:32:20 2010 +0300
-+++ b/mcabber/mcabber/Makefile.am	Sun Apr 11 20:44:40 2010 +0300
+diff -r 679b2fae7b2f mcabber/mcabber/Makefile.am
+--- a/mcabber/mcabber/Makefile.am	Fri Apr 23 12:58:45 2010 +0300
++++ b/mcabber/mcabber/Makefile.am	Fri Apr 23 13:00:02 2010 +0300
 @@ -7,7 +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 \
@@ -30,9 +30,9 @@
  endif
  
  #SUBDIRS =
-diff -r 76a0b8b7f1e6 mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Sun Apr 11 20:32:20 2010 +0300
-+++ b/mcabber/mcabber/hooks.c	Sun Apr 11 20:44:40 2010 +0300
+diff -r 679b2fae7b2f mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Fri Apr 23 12:58:45 2010 +0300
++++ b/mcabber/mcabber/hooks.c	Fri Apr 23 13:00:02 2010 +0300
 @@ -36,7 +36,10 @@
  #include "utf8.h"
  #include "commands.h"
@@ -107,11 +107,11 @@
 +#endif
  }
  
- /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r 76a0b8b7f1e6 mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Sun Apr 11 20:32:20 2010 +0300
-+++ b/mcabber/mcabber/main.c	Sun Apr 11 20:44:40 2010 +0300
-@@ -45,7 +45,10 @@
+ //  hk_presence_subscription_request(jid, message)
+diff -r 679b2fae7b2f mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Fri Apr 23 12:58:45 2010 +0300
++++ b/mcabber/mcabber/main.c	Fri Apr 23 13:00:02 2010 +0300
+@@ -44,7 +44,10 @@
  #include "xmpp.h"
  #include "help.h"
  #include "events.h"
@@ -123,7 +123,7 @@
  
  #ifndef MODULES_ENABLE
  # include "fifo.h"
-@@ -425,9 +428,11 @@
+@@ -432,9 +435,11 @@
    }
  #endif
  
@@ -135,15 +135,15 @@
  
    optstring = settings_opt_get("roster_display_filter");
    if (optstring)
-diff -r 76a0b8b7f1e6 mcabber/modules/Makefile.am
---- a/mcabber/modules/Makefile.am	Sun Apr 11 20:32:20 2010 +0300
-+++ b/mcabber/modules/Makefile.am	Sun Apr 11 20:44:40 2010 +0300
+diff -r 679b2fae7b2f mcabber/modules/Makefile.am
+--- a/mcabber/modules/Makefile.am	Fri Apr 23 12:58:45 2010 +0300
++++ b/mcabber/modules/Makefile.am	Fri Apr 23 13:00:02 2010 +0300
 @@ -1,1 +1,1 @@
 -SUBDIRS = beep xttitle fifo
 +SUBDIRS = beep xttitle fifo eventcmd
-diff -r 76a0b8b7f1e6 mcabber/modules/eventcmd/Makefile.am
+diff -r 679b2fae7b2f mcabber/modules/eventcmd/Makefile.am
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/modules/eventcmd/Makefile.am	Sun Apr 11 20:44:40 2010 +0300
++++ b/mcabber/modules/eventcmd/Makefile.am	Fri Apr 23 13:00:02 2010 +0300
 @@ -0,0 +1,12 @@
 +
 +if INSTALL_HEADERS
@@ -157,9 +157,9 @@
 +				$(ENCHANT_CFLAGS)
 +endif
 +
-diff -r 76a0b8b7f1e6 mcabber/modules/eventcmd/eventcmd.c
+diff -r 679b2fae7b2f mcabber/modules/eventcmd/eventcmd.c
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/modules/eventcmd/eventcmd.c	Sun Apr 11 20:44:40 2010 +0300
++++ b/mcabber/modules/eventcmd/eventcmd.c	Fri Apr 23 13:00:02 2010 +0300
 @@ -0,0 +1,221 @@
 +
 +/* Copyright 2009 Myhailo Danylenko
--- a/muc-multiple-statuses	Tue Apr 13 01:37:44 2010 +0300
+++ b/muc-multiple-statuses	Fri Apr 23 13:11:40 2010 +0300
@@ -1,19 +1,19 @@
-diff -r 78d73bda30e4 mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c	Tue Apr 13 01:32:52 2010 +0300
-+++ b/mcabber/mcabber/xmpp.c	Tue Apr 13 01:33:35 2010 +0300
-@@ -1300,7 +1300,7 @@
-     x = lm_message_node_find_xmlns(m->node,
-                                    "http://jabber.org/protocol/muc#user");
+diff -r 55ff4dc03f25 mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c	Fri Apr 23 13:01:53 2010 +0300
++++ b/mcabber/mcabber/xmpp.c	Fri Apr 23 13:03:25 2010 +0300
+@@ -1299,7 +1299,7 @@
+   if (from) {
+     x = lm_message_node_find_xmlns(m->node, NS_MUC_USER);
      if (x && !strcmp(x->name, "x"))
 -      got_muc_message(from, x);
 +      got_muc_message(from, x, timestamp);
  
      x = lm_message_node_find_xmlns(m->node, NS_X_CONFERENCE);
  
-diff -r 78d73bda30e4 mcabber/mcabber/xmpp_muc.c
---- a/mcabber/mcabber/xmpp_muc.c	Tue Apr 13 01:32:52 2010 +0300
-+++ b/mcabber/mcabber/xmpp_muc.c	Tue Apr 13 01:33:35 2010 +0300
-@@ -405,8 +405,6 @@
+diff -r 55ff4dc03f25 mcabber/mcabber/xmpp_muc.c
+--- a/mcabber/mcabber/xmpp_muc.c	Fri Apr 23 13:01:53 2010 +0300
++++ b/mcabber/mcabber/xmpp_muc.c	Fri Apr 23 13:03:25 2010 +0300
+@@ -400,8 +400,6 @@
                           enum imstatus ust, const char *ustmsg,
                           time_t usttime, char bpprio)
  {
@@ -22,7 +22,7 @@
    char *mbuf;
    const char *ournick;
    enum imrole mbrole = role_none;
-@@ -416,6 +414,7 @@
+@@ -411,6 +409,7 @@
    const char *mbjid = NULL, *mbnick = NULL;
    const char *actorjid = NULL, *reason = NULL;
    bool new_member = FALSE; // True if somebody else joins the room (not us)
@@ -30,7 +30,7 @@
    guint statuscode = 0;
    guint nickchange = 0;
    GSList *room_elt;
-@@ -446,30 +445,92 @@
+@@ -441,30 +440,92 @@
  
    if (!ournick) {
      // It shouldn't happen, probably a server issue
@@ -139,7 +139,7 @@
    // Get the room's "print_status" settings
    printstatus = buddy_getprintstatus(room_elt->data);
    if (printstatus == status_default) {
-@@ -492,7 +553,7 @@
+@@ -487,7 +548,7 @@
      g_free(mbuf);
      buddy_resource_setname(room_elt->data, rname, mbnick);
      // Maybe it's _our_ nickname...
@@ -148,7 +148,7 @@
        buddy_setnickname(room_elt->data, mbnick);
      nickchange = TRUE;
    }
-@@ -501,7 +562,6 @@
+@@ -496,7 +557,6 @@
    if (statuscode != 303 && ust == offline) {
      // Somebody is leaving
      enum { leave=0, kick, ban } how = leave;
@@ -156,7 +156,7 @@
  
      if (statuscode == 307)
        how = kick;
-@@ -509,8 +569,7 @@
+@@ -504,8 +564,7 @@
        how = ban;
  
      // If this is a leave, check if it is ourself
@@ -166,7 +166,7 @@
        buddy_setinsideroom(room_elt->data, FALSE);
        buddy_setnickname(room_elt->data, NULL);
        buddy_del_all_resources(room_elt->data);
-@@ -535,7 +594,7 @@
+@@ -530,7 +589,7 @@
        }
        if (reason)
          reason_msg = g_strdup_printf("\nReason: %s", reason);
@@ -175,7 +175,7 @@
          mbuf = g_strdup_printf("You have been %s%s", mbuf_end,
                                 reason_msg ? reason_msg : "");
        else
-@@ -546,7 +605,7 @@
+@@ -541,7 +600,7 @@
        g_free(mbuf_end);
      } else {
        // Natural leave
@@ -184,7 +184,7 @@
          LmMessageNode *destroynode = lm_message_node_find_child(xmldata,
                                                                  "destroy");
          if (destroynode) {
-@@ -579,9 +638,9 @@
+@@ -574,9 +633,9 @@
  
      // Display the mbuf message if we're concerned
      // or if the print_status isn't set to none.
@@ -196,7 +196,7 @@
          msgflags |= HBB_PREFIX_NOFLAG;
        scr_WriteIncomingMessage(roomjid, mbuf, usttime, msgflags, 0);
      }
-@@ -589,26 +648,31 @@
+@@ -584,26 +643,31 @@
      if (log_muc_conf)
        hlog_write_message(roomjid, 0, -1, mbuf);
  
@@ -241,7 +241,7 @@
      }
    }
  
-@@ -734,26 +798,87 @@
+@@ -729,26 +793,87 @@
  
  
  // Specific MUC message handling (for example invitation processing)
@@ -340,9 +340,9 @@
  }
  
  /* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2:  For Vim users... */
-diff -r 78d73bda30e4 mcabber/mcabber/xmpp_muc.h
---- a/mcabber/mcabber/xmpp_muc.h	Tue Apr 13 01:32:52 2010 +0300
-+++ b/mcabber/mcabber/xmpp_muc.h	Tue Apr 13 01:33:35 2010 +0300
+diff -r 55ff4dc03f25 mcabber/mcabber/xmpp_muc.h
+--- a/mcabber/mcabber/xmpp_muc.h	Fri Apr 23 13:01:53 2010 +0300
++++ b/mcabber/mcabber/xmpp_muc.h	Fri Apr 23 13:03:25 2010 +0300
 @@ -14,7 +14,8 @@
  void roompresence(gpointer room, void *presencedata);
  void got_invite(const char* from, const char *to, const char* reason,
--- a/separate-extcmd	Tue Apr 13 01:37:44 2010 +0300
+++ b/separate-extcmd	Fri Apr 23 13:11:40 2010 +0300
@@ -1,6 +1,6 @@
-diff -r bb1396d6ba03 mcabber/mcabber/Makefile.am
---- a/mcabber/mcabber/Makefile.am	Fri Apr 02 00:06:58 2010 +0300
-+++ b/mcabber/mcabber/Makefile.am	Fri Apr 02 01:50:48 2010 +0300
+diff -r 6cd06329c5e8 mcabber/mcabber/Makefile.am
+--- a/mcabber/mcabber/Makefile.am	Fri Apr 23 12:52:18 2010 +0300
++++ b/mcabber/mcabber/Makefile.am	Fri Apr 23 12:55:35 2010 +0300
 @@ -7,7 +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 \
@@ -18,9 +18,9 @@
  			 $(top_srcdir)/include/config.h
  
  if OTR
-diff -r bb1396d6ba03 mcabber/mcabber/extcmd.c
+diff -r 6cd06329c5e8 mcabber/mcabber/extcmd.c
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber/extcmd.c	Fri Apr 02 01:50:48 2010 +0300
++++ b/mcabber/mcabber/extcmd.c	Fri Apr 23 12:55:35 2010 +0300
 @@ -0,0 +1,121 @@
 +/*
 + * extcmd.c      -- External event handler command
@@ -143,9 +143,9 @@
 +}
 +
 +/* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */
-diff -r bb1396d6ba03 mcabber/mcabber/extcmd.h
+diff -r 6cd06329c5e8 mcabber/mcabber/extcmd.h
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber/extcmd.h	Fri Apr 02 01:50:48 2010 +0300
++++ b/mcabber/mcabber/extcmd.h	Fri Apr 23 12:55:35 2010 +0300
 @@ -0,0 +1,15 @@
 +#ifndef __MCABBER_EXTCMD_H__
 +#define __MCABBER_EXTCMD_H__ 1
@@ -162,9 +162,9 @@
 +void hk_ext_cmd(const char *bjid, const char *type, const char *info, const char *data);
 +
 +#endif
-diff -r bb1396d6ba03 mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Fri Apr 02 00:06:58 2010 +0300
-+++ b/mcabber/mcabber/hooks.c	Fri Apr 02 01:50:48 2010 +0300
+diff -r 6cd06329c5e8 mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Fri Apr 23 12:52:18 2010 +0300
++++ b/mcabber/mcabber/hooks.c	Fri Apr 23 12:55:35 2010 +0300
 @@ -24,6 +24,7 @@
  #include <string.h>
  #include <sys/types.h>
@@ -196,9 +196,9 @@
    unsigned mucnicklen = 0;
 -  const char *ename = NULL;
    gboolean attention = FALSE, mucprivmsg = FALSE;
- 
-   if (encrypted == ENCRYPTED_PGP)
-@@ -359,19 +358,6 @@
+ #ifdef MODULES_ENABLE
+   gchar strdelay[32];
+@@ -368,19 +367,6 @@
        (!is_room || (is_groupchat && log_muc_conf && !timestamp)))
      hlog_write_message(bjid, timestamp, 0, wmsg);
  
@@ -218,7 +218,7 @@
    // Display the sender in the log window
    if ((!is_groupchat) && !(message_flags & HBB_PREFIX_ERR) &&
        settings_opt_get_int("log_display_sender")) {
-@@ -395,12 +381,24 @@
+@@ -405,12 +391,24 @@
    }
  #endif
  
@@ -244,7 +244,7 @@
  
    // Beep, if enabled:
    // - if it's a private message
-@@ -478,7 +476,7 @@
+@@ -488,7 +486,7 @@
  #endif
  
    // External command
@@ -253,7 +253,7 @@
  
    g_free(bmsg);
    g_free(mmsg);
-@@ -493,10 +491,7 @@
+@@ -503,10 +501,7 @@
    char *bn;
    char *logsmsg;
    const char *rn = (resname ? resname : "");
@@ -265,7 +265,7 @@
  
    oldstat = roster_getstatus(bjid, resname);
  
-@@ -548,27 +543,28 @@
+@@ -558,27 +553,28 @@
    scr_draw_roster();
    hlog_write_status(bjid, timestamp, status, status_msg);
  
@@ -298,7 +298,7 @@
  }
  
  void hk_mystatuschange(time_t timestamp, enum imstatus old_status,
-@@ -695,127 +691,8 @@
+@@ -705,7 +701,7 @@
    /* Call external command */
    str_unread = g_strdup_printf("%u %u %u %u", unread_count, attention_count,
                                 muc_unread, muc_attention);
@@ -307,6 +307,10 @@
    g_free(str_unread);
  }
  
+@@ -745,123 +741,4 @@
+   return 0;
+ }
+ 
 -
 -/* External commands */
 -
@@ -427,12 +431,12 @@
 -}
 -
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r bb1396d6ba03 mcabber/mcabber/hooks.h
---- a/mcabber/mcabber/hooks.h	Fri Apr 02 00:06:58 2010 +0300
-+++ b/mcabber/mcabber/hooks.h	Fri Apr 02 01:50:48 2010 +0300
-@@ -62,9 +62,6 @@
- void hk_unread_list_change(guint unread_count, guint attention_count,
-                            guint muc_unread, guint muc_attention);
+diff -r 6cd06329c5e8 mcabber/mcabber/hooks.h
+--- a/mcabber/mcabber/hooks.h	Fri Apr 23 12:52:18 2010 +0300
++++ b/mcabber/mcabber/hooks.h	Fri Apr 23 12:55:35 2010 +0300
+@@ -66,9 +66,6 @@
+ guint hk_subscription(LmMessageSubType mstype, const gchar *bjid,
+                       const gchar *msg);
  
 -void hk_ext_cmd_init(const char *command);
 -void hk_ext_cmd(const char *bjid, guchar type, guchar info, const char *data);
@@ -440,10 +444,10 @@
  #endif /* __MCABBER_HOOKS_H__ */
  
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r bb1396d6ba03 mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Fri Apr 02 00:06:58 2010 +0300
-+++ b/mcabber/mcabber/main.c	Fri Apr 02 01:50:48 2010 +0300
-@@ -45,6 +45,7 @@
+diff -r 6cd06329c5e8 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Fri Apr 23 12:52:18 2010 +0300
++++ b/mcabber/mcabber/main.c	Fri Apr 23 12:55:35 2010 +0300
+@@ -44,6 +44,7 @@
  #include "xmpp.h"
  #include "help.h"
  #include "events.h"
--- a/series	Tue Apr 13 01:37:44 2010 +0300
+++ b/series	Fri Apr 23 13:11:40 2010 +0300
@@ -8,10 +8,10 @@
 guardize-colors
 roster-state-colors
 direct-invite
-update-changelog-v26
+update-changelog-v30
 muc-multiple-statuses
 cmd-del-id
-update-changelog-v27
+update-changelog-v31
 cmd-dynamic-restriction-list
-update-changelog-v28
+update-changelog-v32
 extend-caps
--- a/switch-to-experimental	Tue Apr 13 01:37:44 2010 +0300
+++ b/switch-to-experimental	Fri Apr 23 13:11:40 2010 +0300
@@ -1,23 +1,22 @@
-diff -r a416dfca67d7 mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Sun Apr 11 20:15:54 2010 +0300
-+++ b/mcabber/ChangeLog.api	Sun Apr 11 20:32:15 2010 +0300
-@@ -1,3 +1,13 @@
-+
-+experimental (25)
+diff -r 637369dc4288 mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Fri Apr 23 12:57:32 2010 +0300
++++ b/mcabber/ChangeLog.api	Fri Apr 23 12:58:29 2010 +0300
+@@ -1,3 +1,12 @@
++experimental (29)
 +
 + * Change branch to "experimental".
-+ * Api as defined by dev:14
++ * Api as defined by dev:15
 + * Add MCABBER_BRANCH_EXPERIMENTAL define to api.h
 + * MQ Patch: switch-to-experimental
 +
 +  -- Myhailo Danylenko, 2010-04-01
 +
- dev (13)
+ dev (15)
  
-  * Stable api 0.10.0:1
-diff -r a416dfca67d7 mcabber/configure.ac
---- a/mcabber/configure.ac	Sun Apr 11 20:15:54 2010 +0300
-+++ b/mcabber/configure.ac	Sun Apr 11 20:32:15 2010 +0300
+  * Add "hook-subscription" hook
+diff -r 637369dc4288 mcabber/configure.ac
+--- a/mcabber/configure.ac	Fri Apr 23 12:57:32 2010 +0300
++++ b/mcabber/configure.ac	Fri Apr 23 12:58:29 2010 +0300
 @@ -272,7 +272,7 @@
  AM_CONDITIONAL([INSTALL_HEADERS], [test x$enable_modules != xno])
  
@@ -27,19 +26,17 @@
  AC_DEFINE([MCABBER_VERSION], "AC_PACKAGE_VERSION", [Mcabber version string])
  
  # We need _GNU_SOURCE for strptime() and strcasestr()
-diff -r a416dfca67d7 mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Sun Apr 11 20:15:54 2010 +0300
-+++ b/mcabber/mcabber/api.h	Sun Apr 11 20:32:15 2010 +0300
-@@ -3,8 +3,10 @@
+diff -r 637369dc4288 mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Fri Apr 23 12:57:32 2010 +0300
++++ b/mcabber/mcabber/api.h	Fri Apr 23 12:58:29 2010 +0300
+@@ -3,8 +3,8 @@
  
  #include <mcabber/config.h> // For MCABBER_BRANCH
  
--#define MCABBER_API_VERSION 14
+-#define MCABBER_API_VERSION 15
 -#define MCABBER_API_MIN     13
-+#define MCABBER_API_VERSION 25
-+#define MCABBER_API_MIN     25
-+
-+#define MCABBER_BRANCH_EXPERIMENTAL 1
++#define MCABBER_API_VERSION 29
++#define MCABBER_API_MIN     29
  
  extern const gchar *mcabber_branch;
  extern const guint mcabber_api_version;
--- a/update-changelog-v26	Tue Apr 13 01:37:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-diff -r 865b5409cad3 mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Sun Apr 11 20:45:20 2010 +0300
-+++ b/mcabber/ChangeLog.api	Sun Apr 11 20:46:01 2010 +0300
-@@ -1,3 +1,10 @@
-+
-+experimental (26)
-+
-+ * Add NS_X_CONFERENCE (direct invitation)
-+ * MQ Patch: direct-invite
-+
-+  -- Myhailo Danylenko, 2010-04-04
- 
- experimental (25)
- 
--- a/update-changelog-v27	Tue Apr 13 01:37:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-diff -r 02e84352285c mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Sun Apr 11 20:48:09 2010 +0300
-+++ b/mcabber/ChangeLog.api	Sun Apr 11 20:48:26 2010 +0300
-@@ -1,3 +1,12 @@
-+
-+experimental (27)
-+
-+ * cmd_add now returns gpointer id
-+ * cmd_del accepts gpointer id instead of command name
-+ * Min API version 27
-+ * MQ Patch: cmd-del-id
-+
-+  -- Myhailo Danylenko, 2010-04-05
- 
- experimental (26)
- 
--- a/update-changelog-v28	Tue Apr 13 01:37:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-diff -r 3b724a5d07c5 mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Sun Apr 11 20:48:54 2010 +0300
-+++ b/mcabber/ChangeLog.api	Sun Apr 11 20:49:36 2010 +0300
-@@ -1,3 +1,10 @@
-+
-+experimental (28)
-+
-+ * Add cmd_set_safe() and cmd_is_safe()
-+ * MQ Patch: cmd-dynamic-restriction-list
-+
-+  -- Myhailo Danylenko, 2010-04-06
- 
- experimental (27)
- 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/update-changelog-v30	Fri Apr 23 13:11:40 2010 +0300
@@ -0,0 +1,14 @@
+diff -r 0000398219df mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Fri Apr 23 13:00:09 2010 +0300
++++ b/mcabber/ChangeLog.api	Fri Apr 23 13:01:53 2010 +0300
+@@ -1,3 +1,10 @@
++experimental (30)
++
++ * Add NS_X_CONFERENCE (direct invitation)
++ * MQ Patch: direct-invite
++
++  -- Myhailo Danylenko, 2010-04-04
++
+ experimental (29)
+ 
+  * Change branch to "experimental".
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/update-changelog-v31	Fri Apr 23 13:11:40 2010 +0300
@@ -0,0 +1,16 @@
+diff -r 7866a7cb7619 mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Fri Apr 23 13:04:19 2010 +0300
++++ b/mcabber/ChangeLog.api	Fri Apr 23 13:05:35 2010 +0300
+@@ -1,3 +1,12 @@
++experimental (31)
++
++ * cmd_add now returns gpointer id
++ * cmd_del accepts gpointer id instead of command name
++ * Min API version 31
++ * MQ Patch: cmd-del-id
++
++  -- Myhailo Danylenko, 2010-04-05
++
+ experimental (30)
+ 
+  * Add NS_X_CONFERENCE (direct invitation)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/update-changelog-v32	Fri Apr 23 13:11:40 2010 +0300
@@ -0,0 +1,14 @@
+diff -r 1a321db26ef3 mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Fri Apr 23 13:07:28 2010 +0300
++++ b/mcabber/ChangeLog.api	Fri Apr 23 13:08:24 2010 +0300
+@@ -1,3 +1,10 @@
++experimental (32)
++
++ * Add cmd_set_safe() and cmd_is_safe()
++ * MQ Patch: cmd-dynamic-restriction-list
++
++  -- Myhailo Danylenko, 2010-04-06
++
+ experimental (31)
+ 
+  * cmd_add now returns gpointer id