Sync with development version
authorMikael Berthe <mikael@lilotux.net>
Sun, 27 Mar 2011 19:16:27 +0200
changeset 18 2714b95de09d
parent 17 79ba81eed5ad
child 19 300fb879c393
Sync with development version
cmd-del-id
cmd-dynamic-restriction-list
extend-caps
guard-xmpp-password
modularize-extcmd
roster-state-colors
separate-extcmd
series
switch-to-experimental
update-changelog-v32
update-changelog-v33
--- a/cmd-del-id	Mon Mar 14 13:35:45 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-diff -r 6629da903728 mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Mon Mar 14 13:29:58 2011 +0100
-+++ b/mcabber/mcabber/api.h	Mon Mar 14 13:30:50 2011 +0100
-@@ -3,8 +3,8 @@
- 
- #include <mcabber/config.h> // For MCABBER_BRANCH
- 
--#define MCABBER_API_VERSION 31
--#define MCABBER_API_MIN     31
-+#define MCABBER_API_VERSION 32
-+#define MCABBER_API_MIN     32
- 
- extern const gchar *mcabber_branch;
- extern const guint mcabber_api_version;
-diff -r 6629da903728 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Mon Mar 14 13:29:58 2011 +0100
-+++ b/mcabber/mcabber/commands.c	Mon Mar 14 13:30:50 2011 +0100
-@@ -99,27 +99,26 @@
- #ifdef MODULES_ENABLE
- #include "modules.h"
- 
--gpointer cmd_del(const char *name)
-+gpointer cmd_del(gpointer id)
- {
-   GSList *sl_cmd;
--  for (sl_cmd = Commands; sl_cmd; sl_cmd = sl_cmd->next) {
--    cmd *command = (cmd *) sl_cmd->data;
--    if (!strcmp (command->name, name)) {
-+  for (sl_cmd = Commands; sl_cmd; sl_cmd = sl_cmd->next)
-+    if (sl_cmd -> data == id) {
-+      cmd *command = (cmd *) sl_cmd->data;
-       gpointer userdata = command->userdata;
-       Commands = g_slist_delete_link(Commands, sl_cmd);
-       compl_del_category_word(COMPL_CMD, command->name);
-       g_free(command);
-       return userdata;
-     }
--  }
-   return NULL;
- }
- #endif
- 
- //  cmd_add()
- // Adds a command to the commands list and to the CMD completion list
--void cmd_add(const char *name, const char *help, guint flags_row1,
--             guint flags_row2, void (*f)(char*), gpointer userdata)
-+gpointer cmd_add(const char *name, const char *help, guint flags_row1,
-+                 guint flags_row2, void (*f)(char*), gpointer userdata)
- {
-   cmd *n_cmd = g_new0(cmd, 1);
-   strncpy(n_cmd->name, name, 32-1);
-@@ -131,6 +130,7 @@
-   Commands = g_slist_prepend(Commands, n_cmd);
-   // Add to completion CMD category
-   compl_add_category_word(COMPL_CMD, name);
-+  return n_cmd;
- }
- 
- //  cmd_init()
-diff -r 6629da903728 mcabber/mcabber/commands.h
---- a/mcabber/mcabber/commands.h	Mon Mar 14 13:29:58 2011 +0100
-+++ b/mcabber/mcabber/commands.h	Mon Mar 14 13:30:50 2011 +0100
-@@ -20,8 +20,9 @@
- int  process_command(const char *line, guint iscmd);
- char *expandalias(const char *line);
- #ifdef MODULES_ENABLE
--gpointer cmd_del(const char *name);
--void cmd_add(const char *name, const char *help, guint flags1, guint flags2, void (*f)(char*), gpointer userdata);
-+gpointer cmd_del(gpointer id);
-+gpointer cmd_add(const char *name, const char *help, guint flags1, guint flags2,
-+                 void (*f)(char*), gpointer userdata);
- #endif
- 
- void cmd_room_whois(gpointer bud, const char *nick, guint interactive);
-diff -r 6629da903728 mcabber/modules/beep/beep.c
---- a/mcabber/modules/beep/beep.c	Mon Mar 14 13:29:58 2011 +0100
-+++ b/mcabber/modules/beep/beep.c	Mon Mar 14 13:30:50 2011 +0100
-@@ -46,8 +46,9 @@
-         .next            = NULL,
- };
- 
--static guint beep_cid = 0;  /* Command completion category id */
--static guint beep_hid = 0;  /* Hook handler id */
-+static guint    beep_cid  = 0;  /* Command completion category id */
-+static gpointer beep_cmid = 0;  /* Command id */
-+static guint    beep_hid  = 0;  /* Hook handler id */
- 
- /* Event handler */
- static guint beep_hh(const gchar *hookname, hk_arg_t *args, gpointer userdata)
-@@ -94,7 +95,7 @@
-     compl_add_category_word(beep_cid, "disable");
-   }
-   /* Add command */
--  cmd_add("beep", "", beep_cid, 0, do_beep, NULL);
-+  beep_cmid = cmd_add("beep", "", beep_cid, 0, do_beep, NULL);
-   /* Add handler
-    * We are only interested in incoming message events
-    */
-@@ -108,7 +109,7 @@
-   /* Unregister event handler */
-   hk_del_handler(HOOK_POST_MESSAGE_IN, beep_hid);
-   /* Unregister command */
--  cmd_del("beep");
-+  cmd_del(beep_cmid);
-   /* Give back completion handle */
-   if (beep_cid)
-     compl_del_category(beep_cid);
--- a/cmd-dynamic-restriction-list	Mon Mar 14 13:35:45 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-diff -r 7a014d472922 mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Mon Mar 14 13:31:38 2011 +0100
-+++ b/mcabber/mcabber/api.h	Mon Mar 14 13:32:17 2011 +0100
-@@ -3,7 +3,7 @@
- 
- #include <mcabber/config.h> // For MCABBER_BRANCH
- 
--#define MCABBER_API_VERSION 32
-+#define MCABBER_API_VERSION 33
- #define MCABBER_API_MIN     32
- 
- extern const gchar *mcabber_branch;
-diff -r 7a014d472922 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Mon Mar 14 13:31:38 2011 +0100
-+++ b/mcabber/mcabber/commands.c	Mon Mar 14 13:32:17 2011 +0100
-@@ -95,6 +95,7 @@
- 
- // Global variable for the commands list
- static GSList *Commands;
-+static GSList *safe_commands = NULL;
- 
- #ifdef MODULES_ENABLE
- #include "modules.h"
-@@ -133,6 +134,42 @@
-   return n_cmd;
- }
- 
-+//  cmd_set_safe(name, safe)
-+// Sets if command can be used in startup configuration file.
-+gboolean cmd_set_safe(const gchar *name, gboolean safe)
-+{
-+  GSList *sel;
-+  if (!name)
-+    return FALSE;
-+  for (sel = safe_commands; sel; sel = sel->next)
-+    if (!strcmp((const char *)sel->data, name)) {
-+      if (safe)
-+        return FALSE;
-+      else {
-+        g_free(sel->data);
-+        safe_commands = g_slist_delete_link(safe_commands, sel);
-+      }
-+    }
-+  if (safe)
-+    safe_commands = g_slist_append(safe_commands, g_strdup(name));
-+  else
-+    return FALSE;
-+  return TRUE;
-+}
-+
-+//  cmd_is_safe(name)
-+// Returns if command is safe or not
-+gboolean cmd_is_safe(const gchar *name)
-+{
-+  GSList *sel;
-+  if (!name)
-+    return FALSE;
-+  for (sel = safe_commands; sel; sel = sel->next)
-+    if (!strcmp((const char *)sel->data, name))
-+      return TRUE;
-+  return FALSE;
-+}
-+
- //  cmd_init()
- // Commands table initialization
- // !!!
-@@ -193,6 +230,16 @@
-           COMPL_JID, COMPL_STATUS, &do_status_to, NULL);
-   cmd_add("version", "Show mcabber version", 0, 0, &do_version, NULL);
- 
-+  cmd_set_safe("set", TRUE);
-+  cmd_set_safe("bind", TRUE);
-+  cmd_set_safe("alias", TRUE);
-+  cmd_set_safe("pgp", TRUE);
-+  cmd_set_safe("source", TRUE);
-+  cmd_set_safe("status", TRUE);
-+  cmd_set_safe("color", TRUE);
-+  cmd_set_safe("otrpolicy", TRUE);
-+  cmd_set_safe("module", TRUE);
-+
-   // Status category
-   compl_add_category_word(COMPL_STATUS, "online");
-   compl_add_category_word(COMPL_STATUS, "avail");
-diff -r 7a014d472922 mcabber/mcabber/commands.h
---- a/mcabber/mcabber/commands.h	Mon Mar 14 13:31:38 2011 +0100
-+++ b/mcabber/mcabber/commands.h	Mon Mar 14 13:32:17 2011 +0100
-@@ -23,7 +23,9 @@
- gpointer cmd_del(gpointer id);
- gpointer cmd_add(const char *name, const char *help, guint flags1, guint flags2,
-                  void (*f)(char*), gpointer userdata);
-+gboolean cmd_set_safe(const gchar *name, gboolean safe);
- #endif
-+gboolean cmd_is_safe(const gchar *name);
- 
- void cmd_room_whois(gpointer bud, const char *nick, guint interactive);
- void cmd_room_leave(gpointer bud, char *arg);
-diff -r 7a014d472922 mcabber/mcabber/settings.c
---- a/mcabber/mcabber/settings.c	Mon Mar 14 13:31:38 2011 +0100
-+++ b/mcabber/mcabber/settings.c	Mon Mar 14 13:32:17 2011 +0100
-@@ -185,44 +185,27 @@
- 
-     // We only allow assignments line, except for commands "pgp", "source",
-     // "color", "load" and "otrpolicy", unless we're in runtime (i.e. not startup).
--    if (runtime ||
--        (strchr(line, '=') != NULL)        ||
--        startswith(line, "pgp ", FALSE)    ||
--        startswith(line, "source ", FALSE) ||
--        startswith(line, "color ", FALSE)  ||
--#ifdef MODULES_ENABLE
--        startswith(line, "module ", FALSE) ||
--#endif
--        startswith(line, "status ", FALSE) ||
--        startswith(line, "otrpolicy", FALSE)) {
--      // Only accept a few "safe" commands
--      if (!runtime &&
--          !startswith(line, "set ", FALSE)    &&
--          !startswith(line, "bind ", FALSE)   &&
--          !startswith(line, "alias ", FALSE)  &&
--          !startswith(line, "pgp ", FALSE)    &&
--          !startswith(line, "source ", FALSE) &&
--          !startswith(line, "status ", FALSE) &&
--          !startswith(line, "color ", FALSE)  &&
--#ifdef MODULES_ENABLE
--          !startswith(line, "module ", FALSE) &&
--#endif
--          !startswith(line, "otrpolicy ", FALSE)) {
--        scr_LogPrint(LPRINT_LOGNORM, "Error in configuration file (l. %d): "
--                     "this command can't be used here", ln);
-+    if (!runtime) {
-+      const gchar *cmdend = strchr(line, ' ');
-+      gchar *cmdname = NULL;
-+      gboolean safe;
-+      if (cmdend)
-+        cmdname = g_strndup(line, cmdend - line);
-+      safe = cmd_is_safe(cmdname ? cmdname : line);
-+      g_free(cmdname);
-+      if (!safe) {
-+        scr_log_print(LPRINT_LOGNORM, "Error in configuration file (l. %d): "
-+                      "this command can't be used here", ln);
-         err++;
-         continue;
-       }
--      // Set the leading COMMAND_CHAR to build a command line
--      // and process the command
--      *(--line) = COMMAND_CHAR;
--      if (process_command(line, TRUE) == 255)
--        mcabber_set_terminate_ui();
--    } else {
--      scr_LogPrint(LPRINT_LOGNORM, "Error in configuration file (l. %d): "
--                   "this is not an assignment", ln);
--      err++;
-     }
-+    // XXX do we need this?
-+    // Set the leading COMMAND_CHAR to build a command line
-+    // and process the command
-+    *(--line) = COMMAND_CHAR;
-+    if (process_command(line, TRUE) == 255)
-+      mcabber_set_terminate_ui();
-   }
-   g_free(buf);
-   fclose(fp);
--- a/extend-caps	Mon Mar 14 13:35:45 2011 +0100
+++ b/extend-caps	Sun Mar 27 19:16:27 2011 +0200
@@ -1,6 +1,6 @@
-diff -r 285fafde95ea mcabber/mcabber/caps.c
---- a/mcabber/mcabber/caps.c	Wed Apr 07 17:27:11 2010 +0300
-+++ b/mcabber/mcabber/caps.c	Thu Apr 08 00:07:15 2010 +0300
+diff -r 55f6cdca9554 mcabber/mcabber/caps.c
+--- a/mcabber/mcabber/caps.c	Sun Mar 27 19:15:07 2011 +0200
++++ b/mcabber/mcabber/caps.c	Sun Mar 27 19:15:23 2011 +0200
 @@ -22,9 +22,14 @@
  #include <glib.h>
  
@@ -64,9 +64,9 @@
    }
  }
  
-diff -r 285fafde95ea mcabber/mcabber/caps.h
---- a/mcabber/mcabber/caps.h	Wed Apr 07 17:27:11 2010 +0300
-+++ b/mcabber/mcabber/caps.h	Thu Apr 08 00:07:15 2010 +0300
+diff -r 55f6cdca9554 mcabber/mcabber/caps.h
+--- a/mcabber/mcabber/caps.h	Sun Mar 27 19:15:07 2011 +0200
++++ b/mcabber/mcabber/caps.h	Sun Mar 27 19:15:23 2011 +0200
 @@ -3,6 +3,19 @@
  
  #include <glib.h>
--- a/guard-xmpp-password	Mon Mar 14 13:35:45 2011 +0100
+++ b/guard-xmpp-password	Sun Mar 27 19:16:27 2011 +0200
@@ -1,7 +1,7 @@
-diff -r e413af569c79 mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Sun Feb 27 20:56:00 2011 +0100
-+++ b/mcabber/mcabber/commands.c	Sun Feb 27 20:56:02 2011 +0100
-@@ -2111,10 +2111,8 @@
+diff -r 0142406a60e3 mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Sun Mar 27 19:13:23 2011 +0200
++++ b/mcabber/mcabber/commands.c	Sun Mar 27 19:13:27 2011 +0200
+@@ -2193,10 +2193,8 @@
  
  static void list_option_cb(char *k, char *v, void *f)
  {
@@ -14,9 +14,9 @@
  }
  
  static void do_set(char *arg)
-diff -r e413af569c79 mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Sun Feb 27 20:56:00 2011 +0100
-+++ b/mcabber/mcabber/main.c	Sun Feb 27 20:56:02 2011 +0100
+diff -r 0142406a60e3 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Sun Mar 27 19:13:23 2011 +0200
++++ b/mcabber/mcabber/main.c	Sun Mar 27 19:13:27 2011 +0200
 @@ -380,6 +380,7 @@
    scr_init_locale_charset();
    ut_init_debug();
@@ -36,9 +36,9 @@
      settings_set(SETTINGS_TYPE_OPTION, "password", pwd);
      g_free(pwd);
    }
-diff -r e413af569c79 mcabber/mcabber/xmpp.c
---- a/mcabber/mcabber/xmpp.c	Sun Feb 27 20:56:00 2011 +0100
-+++ b/mcabber/mcabber/xmpp.c	Sun Feb 27 20:56:02 2011 +0100
+diff -r 0142406a60e3 mcabber/mcabber/xmpp.c
+--- a/mcabber/mcabber/xmpp.c	Sun Mar 27 19:13:23 2011 +0200
++++ b/mcabber/mcabber/xmpp.c	Sun Mar 27 19:13:27 2011 +0200
 @@ -23,6 +23,8 @@
   */
  #include <stdlib.h>
@@ -58,7 +58,7 @@
  char imstatus2char[imstatus_size+1] = {
      '_', 'o', 'f', 'd', 'n', 'a', 'i', '\0'
  };
-@@ -891,16 +896,15 @@
+@@ -893,16 +898,15 @@
    GError *error = NULL;
  
    if (success) {
@@ -77,7 +77,7 @@
                                      connection_auth_cb, NULL, FALSE, &error)) {
        scr_LogPrint(LPRINT_LOGNORM, "Failed to authenticate: %s",
                     error->message);
-@@ -1679,13 +1683,37 @@
+@@ -1697,13 +1701,37 @@
    }
  }
  
@@ -116,7 +116,7 @@
    char *dynresource = NULL;
    char fpr[16];
    const char *proxy_host;
-@@ -1702,7 +1730,6 @@
+@@ -1720,7 +1748,6 @@
  
    servername = settings_opt_get("server");
    userjid    = settings_opt_get("jid");
@@ -124,7 +124,7 @@
    resource   = settings_opt_get("resource");
    proxy_host = settings_opt_get("proxy_host");
    ssl_fpr    = settings_opt_get("ssl_fingerprint");
-@@ -1711,7 +1738,7 @@
+@@ -1729,7 +1756,7 @@
      scr_LogPrint(LPRINT_LOGNORM, "Your JID has not been specified!");
      return -1;
    }
@@ -133,10 +133,10 @@
      scr_LogPrint(LPRINT_LOGNORM, "Your password has not been specified!");
      return -1;
    }
-diff -r e413af569c79 mcabber/mcabber/xmpp.h
---- a/mcabber/mcabber/xmpp.h	Sun Feb 27 20:56:00 2011 +0100
-+++ b/mcabber/mcabber/xmpp.h	Sun Feb 27 20:56:02 2011 +0100
-@@ -31,7 +31,9 @@
+diff -r 0142406a60e3 mcabber/mcabber/xmpp.h
+--- a/mcabber/mcabber/xmpp.h	Sun Mar 27 19:13:23 2011 +0200
++++ b/mcabber/mcabber/xmpp.h	Sun Mar 27 19:13:27 2011 +0200
+@@ -33,7 +33,9 @@
  
  extern LmConnection* lconnection;
  extern LmSSL* lssl;
--- a/modularize-extcmd	Mon Mar 14 13:35:45 2011 +0100
+++ b/modularize-extcmd	Sun Mar 27 19:16:27 2011 +0200
@@ -1,17 +1,17 @@
-diff -r a78ca58dd90b mcabber/configure.ac
---- a/mcabber/configure.ac	Sun Feb 27 20:55:56 2011 +0100
-+++ b/mcabber/configure.ac	Sun Feb 27 20:56:00 2011 +0100
+diff -r e93314dc3fb8 mcabber/configure.ac
+--- a/mcabber/configure.ac	Sun Mar 27 19:11:54 2011 +0200
++++ b/mcabber/configure.ac	Sun Mar 27 19:13:23 2011 +0200
 @@ -283,6 +283,7 @@
                   modules/beep/Makefile
                   modules/xttitle/Makefile
                   modules/fifo/Makefile
 +                 modules/eventcmd/Makefile
+                  modules/urlregex/Makefile
                   doc/Makefile
                   doc/guide/Makefile
-                  doc/help/Makefile
-diff -r a78ca58dd90b mcabber/mcabber/Makefile.am
---- a/mcabber/mcabber/Makefile.am	Sun Feb 27 20:55:56 2011 +0100
-+++ b/mcabber/mcabber/Makefile.am	Sun Feb 27 20:56:00 2011 +0100
+diff -r e93314dc3fb8 mcabber/mcabber/Makefile.am
+--- a/mcabber/mcabber/Makefile.am	Sun Mar 27 19:11:54 2011 +0200
++++ b/mcabber/mcabber/Makefile.am	Sun Mar 27 19:13:23 2011 +0200
 @@ -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 a78ca58dd90b mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Sun Feb 27 20:55:56 2011 +0100
-+++ b/mcabber/mcabber/hooks.c	Sun Feb 27 20:56:00 2011 +0100
+diff -r e93314dc3fb8 mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Sun Mar 27 19:11:54 2011 +0200
++++ b/mcabber/mcabber/hooks.c	Sun Mar 27 19:13:23 2011 +0200
 @@ -36,7 +36,10 @@
  #include "utf8.h"
  #include "commands.h"
@@ -108,9 +108,9 @@
  }
  
  //  hk_presence_subscription_request(jid, message)
-diff -r a78ca58dd90b mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Sun Feb 27 20:55:56 2011 +0100
-+++ b/mcabber/mcabber/main.c	Sun Feb 27 20:56:00 2011 +0100
+diff -r e93314dc3fb8 mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Sun Mar 27 19:11:54 2011 +0200
++++ b/mcabber/mcabber/main.c	Sun Mar 27 19:13:23 2011 +0200
 @@ -44,7 +44,10 @@
  #include "xmpp.h"
  #include "help.h"
@@ -135,15 +135,15 @@
  
    optstring = settings_opt_get("roster_display_filter");
    if (optstring)
-diff -r a78ca58dd90b mcabber/modules/Makefile.am
---- a/mcabber/modules/Makefile.am	Sun Feb 27 20:55:56 2011 +0100
-+++ b/mcabber/modules/Makefile.am	Sun Feb 27 20:56:00 2011 +0100
+diff -r e93314dc3fb8 mcabber/modules/Makefile.am
+--- a/mcabber/modules/Makefile.am	Sun Mar 27 19:11:54 2011 +0200
++++ b/mcabber/modules/Makefile.am	Sun Mar 27 19:13:23 2011 +0200
 @@ -1,1 +1,1 @@
--SUBDIRS = beep xttitle fifo
-+SUBDIRS = beep xttitle fifo eventcmd
-diff -r a78ca58dd90b mcabber/modules/eventcmd/Makefile.am
+-SUBDIRS = beep xttitle fifo urlregex
++SUBDIRS = beep xttitle fifo eventcmd urlregex
+diff -r e93314dc3fb8 mcabber/modules/eventcmd/Makefile.am
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/modules/eventcmd/Makefile.am	Sun Feb 27 20:56:00 2011 +0100
++++ b/mcabber/modules/eventcmd/Makefile.am	Sun Mar 27 19:13:23 2011 +0200
 @@ -0,0 +1,12 @@
 +
 +if INSTALL_HEADERS
@@ -157,9 +157,9 @@
 +				$(ENCHANT_CFLAGS)
 +endif
 +
-diff -r a78ca58dd90b mcabber/modules/eventcmd/eventcmd.c
+diff -r e93314dc3fb8 mcabber/modules/eventcmd/eventcmd.c
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/modules/eventcmd/eventcmd.c	Sun Feb 27 20:56:00 2011 +0100
++++ b/mcabber/modules/eventcmd/eventcmd.c	Sun Mar 27 19:13:23 2011 +0200
 @@ -0,0 +1,221 @@
 +
 +/* Copyright 2009 Myhailo Danylenko
--- a/roster-state-colors	Mon Mar 14 13:35:45 2011 +0100
+++ b/roster-state-colors	Sun Mar 27 19:16:27 2011 +0200
@@ -1,6 +1,6 @@
-diff -r 527af8f13bf6 mcabber/contrib/themes/light.txt
---- a/mcabber/contrib/themes/light.txt	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/contrib/themes/light.txt	Sun Feb 27 20:56:06 2011 +0100
+diff -r 0df1f1107cbc mcabber/contrib/themes/light.txt
+--- a/mcabber/contrib/themes/light.txt	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/contrib/themes/light.txt	Sun Mar 27 19:15:06 2011 +0200
 @@ -13,6 +13,5 @@
  set color_bgrostersel  = green
  set color_rostersel    = yellow
@@ -8,9 +8,9 @@
 -set color_rosternewmsg = red
  
  # vim:set ft=conf:
-diff -r 527af8f13bf6 mcabber/contrib/themes/light2.txt
---- a/mcabber/contrib/themes/light2.txt	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/contrib/themes/light2.txt	Sun Feb 27 20:56:06 2011 +0100
+diff -r 0df1f1107cbc mcabber/contrib/themes/light2.txt
+--- a/mcabber/contrib/themes/light2.txt	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/contrib/themes/light2.txt	Sun Mar 27 19:15:06 2011 +0200
 @@ -13,6 +13,5 @@
  set color_bgrostersel  = black
  set color_rostersel    = brightgreen
@@ -18,9 +18,9 @@
 -set color_rosternewmsg = red
  
  # vim:set ft=conf:
-diff -r 527af8f13bf6 mcabber/contrib/themes/oliver.txt
---- a/mcabber/contrib/themes/oliver.txt	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/contrib/themes/oliver.txt	Sun Feb 27 20:56:06 2011 +0100
+diff -r 0df1f1107cbc mcabber/contrib/themes/oliver.txt
+--- a/mcabber/contrib/themes/oliver.txt	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/contrib/themes/oliver.txt	Sun Mar 27 19:15:06 2011 +0200
 @@ -13,6 +13,5 @@
  set color_bgrostersel  = yellow
  set color_rostersel    = blue
@@ -28,9 +28,9 @@
 -set color_rosternewmsg = red
  
  # vim:set ft=conf:
-diff -r 527af8f13bf6 mcabber/doc/help/en/hlp_color.txt
---- a/mcabber/doc/help/en/hlp_color.txt	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/doc/help/en/hlp_color.txt	Sun Feb 27 20:56:06 2011 +0100
+diff -r 0df1f1107cbc mcabber/doc/help/en/hlp_color.txt
+--- a/mcabber/doc/help/en/hlp_color.txt	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/doc/help/en/hlp_color.txt	Sun Mar 27 19:15:06 2011 +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.
@@ -39,9 +39,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 527af8f13bf6 mcabber/doc/help/uk/hlp_color.txt
---- a/mcabber/doc/help/uk/hlp_color.txt	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/doc/help/uk/hlp_color.txt	Sun Feb 27 20:56:06 2011 +0100
+diff -r 0df1f1107cbc mcabber/doc/help/uk/hlp_color.txt
+--- a/mcabber/doc/help/uk/hlp_color.txt	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/doc/help/uk/hlp_color.txt	Sun Mar 27 19:15:06 2011 +0200
 @@ -11,6 +11,7 @@
   Додає нове чи змінює існуюче правило кольору. "Статус" складений з літер статусу, до яких докладається це правило (наприклад "n_d?"). Зірочка ("*") відповідає будь-якому статусу. "Маска" подібна до файлової маски й докладається до jid. Правило встановлює колір контактів, що йому відповідають.
   Щоб вилучити правило, вкажіть колір "-".
@@ -50,10 +50,10 @@
  /color muc (jid|.|*) [on|preset|off|-]
   Встановлює режим забарвлення прізвиськ у чаті. Якщо замість jid вказано * режим докладається до всіх чатів, для яких не визначено особистого правила (з вказанням jid).
   У режимі on забарвлюються усі прізвиська, у режимі preset - лише ті, для яких колір встановлено командою /color mucnick, а режим off вимикає забарвлення прізвиськ. Режим - прибирає з вказаних jid особисті режими забарвлення. Тоді до них докладається глобальний. Глобальний режим прибрати не можна.
-diff -r 527af8f13bf6 mcabber/mcabber/screen.c
---- a/mcabber/mcabber/screen.c	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/mcabber/screen.c	Sun Feb 27 20:56:06 2011 +0100
-@@ -438,7 +438,7 @@
+diff -r 0df1f1107cbc mcabber/mcabber/screen.c
+--- a/mcabber/mcabber/screen.c	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/mcabber/screen.c	Sun Mar 27 19:15:06 2011 +0200
+@@ -434,7 +434,7 @@
      "roster",
      "rostersel",
      "rosterselmsg",
@@ -61,8 +61,8 @@
 +    "rosternewmsg", /* not removing this to not break binary compatibility with mainstream */
      "info",
      "msgin",
-     NULL
-@@ -506,10 +506,6 @@
+     "readmark",
+@@ -503,10 +503,6 @@
            init_pair(i+1, ((color) ? find_color(color) : COLOR_RED),
                      find_color(backselected));
            break;
@@ -73,7 +73,7 @@
        case COLOR_INFO:
            init_pair(i+1, ((color) ? find_color(color) : COLOR_WHITE),
                      find_color(background));
-@@ -803,6 +799,21 @@
+@@ -804,6 +800,21 @@
    settings_set_guard("color_rosterselmsg", scr_color_guard);
    settings_set_guard("color_rosternewmsg", scr_color_guard);
  
@@ -95,7 +95,7 @@
    getmaxyx(stdscr, maxY, maxX);
    Log_Win_Height = DEFAULT_LOG_WIN_HEIGHT;
    // Note scr_draw_main_window() should be called early after scr_init_curses()
-@@ -1989,6 +2000,10 @@
+@@ -2046,6 +2057,10 @@
      // for unfolded groups.
      if (ismsg && (!isgrp || ishid)) {
        pending = '#';
@@ -106,7 +106,7 @@
      }
  
      if (ismuc) {
-@@ -2012,24 +2027,22 @@
+@@ -2069,24 +2084,22 @@
        for (n = 0; n < maxx; n++)
          waddch(rosterWnd, ' ');
      } else {
@@ -144,7 +144,7 @@
      }
  
      if (Roster_Width > 7)
-@@ -2037,13 +2050,6 @@
+@@ -2094,13 +2107,6 @@
      else
        name[0] = 0;
  
@@ -158,9 +158,9 @@
      if (isgrp) {
        if (ishid) {
          int group_count = 0;
-diff -r 527af8f13bf6 mcabber/mcabber/screen.h
---- a/mcabber/mcabber/screen.h	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/mcabber/screen.h	Sun Feb 27 20:56:06 2011 +0100
+diff -r 0df1f1107cbc mcabber/mcabber/screen.h
+--- a/mcabber/mcabber/screen.h	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/mcabber/screen.h	Sun Mar 27 19:15:06 2011 +0200
 @@ -46,7 +46,7 @@
    COLOR_ROSTER,
    COLOR_ROSTERSEL,
@@ -169,11 +169,11 @@
 +  COLOR_ROSTERNMSG, /* not removing this to not break binary compatibility with mainstream */
    COLOR_INFO,
    COLOR_MSGIN,
-   COLOR_max
-diff -r 527af8f13bf6 mcabber/mcabberrc.example
---- a/mcabber/mcabberrc.example	Sun Feb 27 20:56:03 2011 +0100
-+++ b/mcabber/mcabberrc.example	Sun Feb 27 20:56:06 2011 +0100
-@@ -370,7 +370,6 @@
+   COLOR_READMARK,
+diff -r 0df1f1107cbc mcabber/mcabberrc.example
+--- a/mcabber/mcabberrc.example	Sun Mar 27 19:13:27 2011 +0200
++++ b/mcabber/mcabberrc.example	Sun Mar 27 19:15:06 2011 +0200
+@@ -385,7 +385,6 @@
  # bgrostersel: background color of the selected roster item
  # rostersel:   text color of the selected roster item
  # rosterselmsg:text color of the selected roster item, if there is a new msg
@@ -181,11 +181,12 @@
  #
  #set color_background   = black
  #set color_general      = white
-@@ -384,14 +383,23 @@
+@@ -399,15 +398,24 @@
  #set color_bgrostersel  = cyan
  #set color_rostersel    = blue
  #set color_rosterselmsg = red
 -#set color_rosternewmsg = red
+ #set color_readmark     = red
  
 -# 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/separate-extcmd	Mon Mar 14 13:35:45 2011 +0100
+++ b/separate-extcmd	Sun Mar 27 19:16:27 2011 +0200
@@ -1,6 +1,6 @@
-diff -r c86292a0e47d mcabber/mcabber/Makefile.am
---- a/mcabber/mcabber/Makefile.am	Sun Feb 27 20:55:47 2011 +0100
-+++ b/mcabber/mcabber/Makefile.am	Sun Feb 27 20:55:55 2011 +0100
+diff -r 8f175821433d mcabber/mcabber/Makefile.am
+--- a/mcabber/mcabber/Makefile.am	Sun Mar 27 19:11:49 2011 +0200
++++ b/mcabber/mcabber/Makefile.am	Sun Mar 27 19:11:53 2011 +0200
 @@ -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 c86292a0e47d mcabber/mcabber/extcmd.c
+diff -r 8f175821433d mcabber/mcabber/extcmd.c
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber/extcmd.c	Sun Feb 27 20:55:55 2011 +0100
++++ b/mcabber/mcabber/extcmd.c	Sun Mar 27 19:11:53 2011 +0200
 @@ -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 c86292a0e47d mcabber/mcabber/extcmd.h
+diff -r 8f175821433d mcabber/mcabber/extcmd.h
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/mcabber/mcabber/extcmd.h	Sun Feb 27 20:55:55 2011 +0100
++++ b/mcabber/mcabber/extcmd.h	Sun Mar 27 19:11:53 2011 +0200
 @@ -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 c86292a0e47d mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Sun Feb 27 20:55:47 2011 +0100
-+++ b/mcabber/mcabber/hooks.c	Sun Feb 27 20:55:55 2011 +0100
+diff -r 8f175821433d mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Sun Mar 27 19:11:49 2011 +0200
++++ b/mcabber/mcabber/hooks.c	Sun Mar 27 19:11:53 2011 +0200
 @@ -24,6 +24,7 @@
  #include <string.h>
  #include <sys/types.h>
@@ -431,9 +431,9 @@
 -}
 -
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r c86292a0e47d mcabber/mcabber/hooks.h
---- a/mcabber/mcabber/hooks.h	Sun Feb 27 20:55:47 2011 +0100
-+++ b/mcabber/mcabber/hooks.h	Sun Feb 27 20:55:55 2011 +0100
+diff -r 8f175821433d mcabber/mcabber/hooks.h
+--- a/mcabber/mcabber/hooks.h	Sun Mar 27 19:11:49 2011 +0200
++++ b/mcabber/mcabber/hooks.h	Sun Mar 27 19:11:53 2011 +0200
 @@ -66,9 +66,6 @@
  guint hk_subscription(LmMessageSubType mstype, const gchar *bjid,
                        const gchar *msg);
@@ -444,9 +444,9 @@
  #endif /* __MCABBER_HOOKS_H__ */
  
  /* vim: set expandtab cindent cinoptions=>2\:2(0 sw=2 ts=2:  For Vim users... */
-diff -r c86292a0e47d mcabber/mcabber/main.c
---- a/mcabber/mcabber/main.c	Sun Feb 27 20:55:47 2011 +0100
-+++ b/mcabber/mcabber/main.c	Sun Feb 27 20:55:55 2011 +0100
+diff -r 8f175821433d mcabber/mcabber/main.c
+--- a/mcabber/mcabber/main.c	Sun Mar 27 19:11:49 2011 +0200
++++ b/mcabber/mcabber/main.c	Sun Mar 27 19:11:53 2011 +0200
 @@ -44,6 +44,7 @@
  #include "xmpp.h"
  #include "help.h"
--- a/series	Mon Mar 14 13:35:45 2011 +0100
+++ b/series	Sun Mar 27 19:16:27 2011 +0200
@@ -3,8 +3,4 @@
 modularize-extcmd
 guard-xmpp-password
 roster-state-colors
-cmd-del-id
-update-changelog-v32
-cmd-dynamic-restriction-list
-update-changelog-v33
 extend-caps
--- a/switch-to-experimental	Mon Mar 14 13:35:45 2011 +0100
+++ b/switch-to-experimental	Sun Mar 27 19:16:27 2011 +0200
@@ -1,22 +1,25 @@
-diff -r 9f443617e96b mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Mon Mar 14 13:17:17 2011 +0100
-+++ b/mcabber/ChangeLog.api	Mon Mar 14 13:29:44 2011 +0100
-@@ -1,3 +1,12 @@
-+experimental (31)
+diff -r d23f1b8aa716 mcabber/ChangeLog.api
+--- a/mcabber/ChangeLog.api	Sun Mar 27 19:03:42 2011 +0200
++++ b/mcabber/ChangeLog.api	Sun Mar 27 19:11:49 2011 +0200
+@@ -5,6 +5,15 @@
+ 
+   -- Mikael Berthe, 2011-03-27
+ 
++experimental (34)
 +
 + * Change branch to "experimental".
-+ * Api as defined by dev:17
++ * Api as defined by dev:20
 + * Add MCABBER_BRANCH_EXPERIMENTAL define to api.h
 + * MQ Patch: switch-to-experimental
 +
 +  -- Myhailo Danylenko, 2010-04-01
 +
- dev (17)
+ dev (19)
  
-  * Add NS_X_CONFERENCE (direct MUC invitations)
-diff -r 9f443617e96b mcabber/configure.ac
---- a/mcabber/configure.ac	Mon Mar 14 13:17:17 2011 +0100
-+++ b/mcabber/configure.ac	Mon Mar 14 13:29:44 2011 +0100
+  * cmd_add now returns gpointer id
+diff -r d23f1b8aa716 mcabber/configure.ac
+--- a/mcabber/configure.ac	Sun Mar 27 19:03:42 2011 +0200
++++ b/mcabber/configure.ac	Sun Mar 27 19:11:49 2011 +0200
 @@ -272,7 +272,7 @@
  AM_CONDITIONAL([INSTALL_HEADERS], [test x$enable_modules != xno])
  
@@ -26,17 +29,17 @@
  AC_DEFINE([MCABBER_VERSION], "AC_PACKAGE_VERSION", [Mcabber version string])
  
  # We need _GNU_SOURCE for strptime() and strcasestr()
-diff -r 9f443617e96b mcabber/mcabber/api.h
---- a/mcabber/mcabber/api.h	Mon Mar 14 13:17:17 2011 +0100
-+++ b/mcabber/mcabber/api.h	Mon Mar 14 13:29:44 2011 +0100
+diff -r d23f1b8aa716 mcabber/mcabber/api.h
+--- a/mcabber/mcabber/api.h	Sun Mar 27 19:03:42 2011 +0200
++++ b/mcabber/mcabber/api.h	Sun Mar 27 19:11:49 2011 +0200
 @@ -3,8 +3,8 @@
  
  #include <mcabber/config.h> // For MCABBER_BRANCH
  
--#define MCABBER_API_VERSION 17
--#define MCABBER_API_MIN     13
-+#define MCABBER_API_VERSION 31
-+#define MCABBER_API_MIN     31
+-#define MCABBER_API_VERSION 20
+-#define MCABBER_API_MIN     19
++#define MCABBER_API_VERSION 34
++#define MCABBER_API_MIN     34
  
  extern const gchar *mcabber_branch;
  extern const guint mcabber_api_version;
--- a/update-changelog-v32	Mon Mar 14 13:35:45 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-diff -r 562fcf869ce8 mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Mon Mar 14 13:30:50 2011 +0100
-+++ b/mcabber/ChangeLog.api	Mon Mar 14 13:31:38 2011 +0100
-@@ -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)
- 
-  * Change branch to "experimental".
--- a/update-changelog-v33	Mon Mar 14 13:35:45 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-diff -r 0b874e35f9ec mcabber/ChangeLog.api
---- a/mcabber/ChangeLog.api	Mon Mar 14 13:34:11 2011 +0100
-+++ b/mcabber/ChangeLog.api	Mon Mar 14 13:34:23 2011 +0100
-@@ -1,3 +1,10 @@
-+experimental (33)
-+
-+ * Add cmd_set_safe() and cmd_is_safe()
-+ * MQ Patch: cmd-dynamic-restriction-list
-+
-+  -- Myhailo Danylenko, 2010-04-06
-+
- experimental (32)
- 
-  * Add cmd_set_safe() and cmd_is_safe()