cmdopts.diff
changeset 72 99d64d6ebe89
parent 71 2bdd3252d918
child 73 feae79fcc408
equal deleted inserted replaced
71:2bdd3252d918 72:99d64d6ebe89
    18     * say_cmd()'s second argument is now of new type msgtype_t
    18     * say_cmd()'s second argument is now of new type msgtype_t
    19   * /msay uses parser
    19   * /msay uses parser
    20     * scr_multi* now store multiline in utf8
    20     * scr_multi* now store multiline in utf8
    21   * /buffer uses parser
    21   * /buffer uses parser
    22     * fix help for /buffer date
    22     * fix help for /buffer date
       
    23   * /rename uses parser
       
    24     * -r(--reset) instead of '-'
       
    25     * -j(--jid), -g(--group), -n(--name)
       
    26   * /move uses parser
       
    27     * -j(--jid), -n(--name)
    23 
    28 
    24 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_buffer.txt
    29 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_buffer.txt
    25 --- a/mcabber/doc/help/cs/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    30 --- a/mcabber/doc/help/cs/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    26 +++ b/mcabber/doc/help/cs/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
    31 +++ b/mcabber/doc/help/cs/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
    27 @@ -25,7 +25,7 @@
    32 @@ -25,7 +25,7 @@
    28   Přesune se o [n] řádků nahoru (výchozí: polovina obrazovky).
    33   Přesune se o [n] řádků nahoru (výchozí: polovina obrazovky).
    29  /buffer down [n]
    34  /buffer down [n]
    30   Přesune se o [n] řádků dolů (výchozí: polovina obrazovky).
    35   Přesune se o [n] řádků dolů (výchozí: polovina obrazovky).
    31 -/buffer date [datum]
    36 -/buffer date [datum]
    33   Přesune se na první řádek po datu [datum] (formát: "RRRR-mm-dd").
    38   Přesune se na první řádek po datu [datum] (formát: "RRRR-mm-dd").
    34  /buffer % n
    39  /buffer % n
    35   Přesune se na procentuální pozici n%.
    40   Přesune se na procentuální pozici n%.
    36 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_del.txt
    41 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_del.txt
    37 --- a/mcabber/doc/help/cs/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    42 --- a/mcabber/doc/help/cs/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    38 +++ b/mcabber/doc/help/cs/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
    43 +++ b/mcabber/doc/help/cs/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
    39 @@ -1,4 +1,4 @@
    44 @@ -1,4 +1,4 @@
    40  
    45  
    41 - /DEL
    46 - /DEL
    42 + /DEL [-n|--dryrun] [jid]
    47 + /DEL [-n|--dryrun] [jid]
    43  
    48  
    44  Smaže aktuální kontakt ze seznamu kontaktů (rosteru) a zruší povolení oznamování o stavu daného kontaktu (autorizaci) na obou stranách.
    49  Smaže aktuální kontakt ze seznamu kontaktů (rosteru) a zruší povolení oznamování o stavu daného kontaktu (autorizaci) na obou stranách.
       
    50 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_move.txt
       
    51 --- a/mcabber/doc/help/cs/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
    52 +++ b/mcabber/doc/help/cs/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
    53 @@ -1,5 +1,6 @@
       
    54  
       
    55 - /MOVE [skupina]
       
    56 + /MOVE [-j|--jid jid] [-n|--name name] [skupina]
       
    57  
       
    58  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ží.
       
    59 +You can select other buddy that current using options --jid and --name.
       
    60  Tip: V módu rozhovoru lze použít "/roster alternate" pro skok na přesunutý kontakt.
       
    61 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_rename.txt
       
    62 --- a/mcabber/doc/help/cs/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
    63 +++ b/mcabber/doc/help/cs/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
    64 @@ -1,4 +1,6 @@
       
    65  
       
    66 - /RENAME jméno
       
    67 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] jméno
       
    68  
       
    69 -Přejmenuje aktuálního uživatele nebo skupinu na 'jméno'. Je-li 'jméno' znak '-', dané jméno se odstraní ze seznamu kontaktů (rosteru) a zobrazí se 'jid'.
       
    70 +Přejmenuje aktuálního uživatele nebo skupinu na 'jméno'.
       
    71 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
       
    72 +Optionally you can use one of --jid, --group or --name to select object, different from current.
    45 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_buffer.txt
    73 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_buffer.txt
    46 --- a/mcabber/doc/help/de/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    74 --- a/mcabber/doc/help/de/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    47 +++ b/mcabber/doc/help/de/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
    75 +++ b/mcabber/doc/help/de/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
    48 @@ -25,7 +25,7 @@
    76 @@ -25,7 +25,7 @@
    49   Scrollt den Puffer um n Zeilen hoch. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    77   Scrollt den Puffer um n Zeilen hoch. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    50  /buffer down [n]
    78  /buffer down [n]
    51   Scrollt den Puffer um n Zeilen runter. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    79   Scrollt den Puffer um n Zeilen runter. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    52 -/buffer date [date]
    80 -/buffer date [date]
    54   Springe zu der ersten Zeile nach dem Datum, welches im Format "JJJJ-mm-tt" anstatt [date] angegeben werden muss
    82   Springe zu der ersten Zeile nach dem Datum, welches im Format "JJJJ-mm-tt" anstatt [date] angegeben werden muss
    55  /buffer % n
    83  /buffer % n
    56   Springe zur Position "n" im Chatpuffer
    84   Springe zur Position "n" im Chatpuffer
    57 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_del.txt
    85 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_del.txt
    58 --- a/mcabber/doc/help/de/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    86 --- a/mcabber/doc/help/de/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    59 +++ b/mcabber/doc/help/de/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
    87 +++ b/mcabber/doc/help/de/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
    60 @@ -1,4 +1,4 @@
    88 @@ -1,4 +1,4 @@
    61  
    89  
    62 - /DEL
    90 - /DEL
    63 + /DEL [-n|--dryrun] [jid]
    91 + /DEL [-n|--dryrun] [jid]
    64  
    92  
    65  Löscht den gerade ausgewählten Buddy vom Roster. Außerdem werden die automatischen Presence Benachrichtigungen vom/zum Buddy gestoppt.
    93  Löscht den gerade ausgewählten Buddy vom Roster. Außerdem werden die automatischen Presence Benachrichtigungen vom/zum Buddy gestoppt.
       
    94 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_move.txt
       
    95 --- a/mcabber/doc/help/de/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
    96 +++ b/mcabber/doc/help/de/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
    97 @@ -1,6 +1,7 @@
       
    98  
       
    99 - /MOVE [groupname]
       
   100 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
       
   101  
       
   102  Verschiebt den ausgewählten Buddy zu der Gruppe "groupname". Wenn keine Gruppe angegeben wurde, wird der Buddy zur Standardgruppe verschoben. Wenn die Gruppe "groupname" nicht existiert, wird sie erst erschaffen.
       
   103 +You can select other buddy that current using options --jid and --name.
       
   104  
       
   105  Tipp: Wenn der Chatmodus aktiviert ist, kannst du "/roster alternate" benutzen um zu dem gerade bewegten Buddy zu springen.
       
   106 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_rename.txt
       
   107 --- a/mcabber/doc/help/de/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   108 +++ b/mcabber/doc/help/de/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   109 @@ -1,4 +1,6 @@
       
   110  
       
   111 - /RENAME name
       
   112 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
       
   113  
       
   114 -Setzt den Namen des gerade ausgewählten Buddys bzw. der ausgewählten Gruppe auf "name". Wenn "name" - ist, so wird der Name vom Roster entfernt (mcabber wird in diesem Falle die JID bzw. den username anzeigen)
       
   115 +Setzt den Namen des gerade ausgewählten Buddys bzw. der ausgewählten Gruppe auf "name".
       
   116 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
       
   117 +Optionally you can use one of --jid, --group or --name to select object, different from current.
    66 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_buffer.txt
   118 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_buffer.txt
    67 --- a/mcabber/doc/help/en/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   119 --- a/mcabber/doc/help/en/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    68 +++ b/mcabber/doc/help/en/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
   120 +++ b/mcabber/doc/help/en/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
    69 @@ -25,7 +25,7 @@
   121 @@ -25,7 +25,7 @@
    70   Scroll the buffer up [n] lines (default: half a screen)
   122   Scroll the buffer up [n] lines (default: half a screen)
    71  /buffer down [n]
   123  /buffer down [n]
    72   Scroll the buffer down [n] lines (default: half a screen)
   124   Scroll the buffer down [n] lines (default: half a screen)
    73 -/buffer date [date]
   125 -/buffer date [date]
    75   Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
   127   Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
    76  /buffer % n
   128  /buffer % n
    77   Jump to position %n of the buddy chat buffer
   129   Jump to position %n of the buddy chat buffer
    78 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_del.txt
   130 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_del.txt
    79 --- a/mcabber/doc/help/en/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   131 --- a/mcabber/doc/help/en/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    80 +++ b/mcabber/doc/help/en/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
   132 +++ b/mcabber/doc/help/en/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
    81 @@ -1,4 +1,4 @@
   133 @@ -1,4 +1,4 @@
    82  
   134  
    83 - /DEL
   135 - /DEL
    84 + /DEL [-n|--dryrun] [jid]
   136 + /DEL [-n|--dryrun] [jid]
    85  
   137  
    86 -Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
   138 -Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
    87 +Delete the current buddy or one, specified with [jid] from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
   139 +Delete the current buddy or one, specified with [jid] from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
       
   140 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_move.txt
       
   141 --- a/mcabber/doc/help/en/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
   142 +++ b/mcabber/doc/help/en/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
   143 @@ -1,5 +1,6 @@
       
   144  
       
   145 - /MOVE [groupname]
       
   146 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
       
   147  
       
   148  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.
       
   149 +You can select other buddy that current using options --jid and --name.
       
   150  Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy.
       
   151 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_rename.txt
       
   152 --- a/mcabber/doc/help/en/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   153 +++ b/mcabber/doc/help/en/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   154 @@ -1,4 +1,6 @@
       
   155  
       
   156 - /RENAME name
       
   157 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
       
   158  
       
   159 -Rename the current buddy or group to the given "name".  If "name" is -, the name is removed from the roster (and mcabber will display the JID or username).
       
   160 +Rename the current buddy or group to the given "newname".
       
   161 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
       
   162 +Optionally you can use one of --jid, --group or --name to select object, different from current.
    88 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_buffer.txt
   163 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_buffer.txt
    89 --- a/mcabber/doc/help/fr/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   164 --- a/mcabber/doc/help/fr/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    90 +++ b/mcabber/doc/help/fr/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
   165 +++ b/mcabber/doc/help/fr/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
    91 @@ -25,7 +25,7 @@
   166 @@ -25,7 +25,7 @@
    92   Défile vers le haut de [n] lignes (par défaut un demi écran)
   167   Défile vers le haut de [n] lignes (par défaut un demi écran)
    93  /buffer down [n]
   168  /buffer down [n]
    94   Défile vers le bas de [n] lignes (par défaut un demi écran)
   169   Défile vers le bas de [n] lignes (par défaut un demi écran)
    95 -/buffer date [date]
   170 -/buffer date [date]
    97   Va à la première ligne après la [date] dans le tampon actuel (format: "aaaa-mm-jj")
   172   Va à la première ligne après la [date] dans le tampon actuel (format: "aaaa-mm-jj")
    98  /buffer % n
   173  /buffer % n
    99   Va à la position n% du tampon
   174   Va à la position n% du tampon
   100 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_del.txt
   175 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_del.txt
   101 --- a/mcabber/doc/help/fr/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   176 --- a/mcabber/doc/help/fr/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   102 +++ b/mcabber/doc/help/fr/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
   177 +++ b/mcabber/doc/help/fr/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   103 @@ -1,4 +1,4 @@
   178 @@ -1,4 +1,4 @@
   104  
   179  
   105 - /DEL
   180 - /DEL
   106 + /DEL [-n|--dryrun] [jid]
   181 + /DEL [-n|--dryrun] [jid]
   107  
   182  
   108  Supprime le contact sélectionné du roster, supprime notre abonnement à ses notifications de présence et supprime son abonnement aux nôtres.
   183  Supprime le contact sélectionné du roster, supprime notre abonnement à ses notifications de présence et supprime son abonnement aux nôtres.
       
   184 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_move.txt
       
   185 --- a/mcabber/doc/help/fr/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
   186 +++ b/mcabber/doc/help/fr/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
   187 @@ -1,5 +1,6 @@
       
   188  
       
   189 - /MOVE [groupname]
       
   190 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
       
   191  
       
   192  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éé.
       
   193 +You can select other buddy that current using options --jid and --name.
       
   194  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.
       
   195 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_rename.txt
       
   196 --- a/mcabber/doc/help/fr/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   197 +++ b/mcabber/doc/help/fr/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   198 @@ -1,4 +1,6 @@
       
   199  
       
   200 - /RENAME nom
       
   201 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nom
       
   202  
       
   203 -Renomme le contact/groupe sélectionné avec le "nom" spécifié. Si le nom est «-», le nom est supprimé du roster (et mcabber affichera le JID ou le nom d'utilisateur).
       
   204 +Renomme le contact/groupe sélectionné avec le "nom" spécifié.
       
   205 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
       
   206 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   109 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_buffer.txt
   207 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_buffer.txt
   110 --- a/mcabber/doc/help/it/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   208 --- a/mcabber/doc/help/it/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   111 +++ b/mcabber/doc/help/it/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
   209 +++ b/mcabber/doc/help/it/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   112 @@ -25,7 +25,7 @@
   210 @@ -25,7 +25,7 @@
   113   Fa scorrere indietro il buffer di [n] linee (default: metà schermo)
   211   Fa scorrere indietro il buffer di [n] linee (default: metà schermo)
   114  /buffer down [n]
   212  /buffer down [n]
   115   Fa scorrere avanti il buffer di [n] linee (default: metà schermo)
   213   Fa scorrere avanti il buffer di [n] linee (default: metà schermo)
   116 -/buffer date [data]
   214 -/buffer date [data]
   118   Salta alla prima linea successiva alla [data] specificata nel buffer di chat (formato della data: "YYYY-mm-dd")
   216   Salta alla prima linea successiva alla [data] specificata nel buffer di chat (formato della data: "YYYY-mm-dd")
   119  /buffer % n
   217  /buffer % n
   120   Salta alla posizione %n del buffer di chat corrente
   218   Salta alla posizione %n del buffer di chat corrente
   121 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_del.txt
   219 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_del.txt
   122 --- a/mcabber/doc/help/it/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   220 --- a/mcabber/doc/help/it/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   123 +++ b/mcabber/doc/help/it/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
   221 +++ b/mcabber/doc/help/it/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   124 @@ -1,4 +1,4 @@
   222 @@ -1,4 +1,4 @@
   125  
   223  
   126 - /DEL
   224 - /DEL
   127 + /DEL [-n|--dryrun] [jid]
   225 + /DEL [-n|--dryrun] [jid]
   128  
   226  
   129  Elimina il contatto corrente dal roster, cancellando la sottoscrizione alle reciproche notifiche della propria presenza.
   227  Elimina il contatto corrente dal roster, cancellando la sottoscrizione alle reciproche notifiche della propria presenza.
       
   228 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_move.txt
       
   229 --- a/mcabber/doc/help/it/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
   230 +++ b/mcabber/doc/help/it/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
   231 @@ -1,5 +1,6 @@
       
   232  
       
   233 - /MOVE [gruppo]
       
   234 + /MOVE [-j|--jid jid] [-n|--name name] [grouppo]
       
   235  
       
   236  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.
       
   237 +You can select other buddy that current using options --jid and --name.
       
   238  Trucco: se la modalità chat è abilitata, puoi usare "/roster alternate" per spostarti sul contatto appena mosso.
       
   239 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_rename.txt
       
   240 --- a/mcabber/doc/help/it/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   241 +++ b/mcabber/doc/help/it/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   242 @@ -1,4 +1,6 @@
       
   243  
       
   244 - /RENAME nome
       
   245 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nome
       
   246  
       
   247 -Rinomina il contatto od il gruppo correnti usando "nome". Se si specifica - come "nome", il nome viene rimosso dal roster, ed al suo posto verranno visulizzati il JID o lo username.
       
   248 +Rinomina il contatto od il gruppo correnti usando "nome".
       
   249 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
       
   250 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   130 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_buffer.txt
   251 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_buffer.txt
   131 --- a/mcabber/doc/help/nl/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   252 --- a/mcabber/doc/help/nl/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   132 +++ b/mcabber/doc/help/nl/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
   253 +++ b/mcabber/doc/help/nl/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   133 @@ -25,7 +25,7 @@
   254 @@ -25,7 +25,7 @@
   134   Scroll de buffer [n] regels omhoog (standaard: een half scherm)
   255   Scroll de buffer [n] regels omhoog (standaard: een half scherm)
   135  /buffer down [n]
   256  /buffer down [n]
   136   Scroll de buffer [n] regels omlaag (standaard: een half scherm)
   257   Scroll de buffer [n] regels omlaag (standaard: een half scherm)
   137 -/buffer date [datum]
   258 -/buffer date [datum]
   139   Spring naar de eerste regel na de aangeduide [datum] in de chat buffer (datum formaat: "YYYY-mm-dd")
   260   Spring naar de eerste regel na de aangeduide [datum] in de chat buffer (datum formaat: "YYYY-mm-dd")
   140  /buffer % n
   261  /buffer % n
   141   Spring naar positie %n in de buddy chat buffer
   262   Spring naar positie %n in de buddy chat buffer
   142 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_del.txt
   263 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_del.txt
   143 --- a/mcabber/doc/help/nl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   264 --- a/mcabber/doc/help/nl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   144 +++ b/mcabber/doc/help/nl/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
   265 +++ b/mcabber/doc/help/nl/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   145 @@ -1,4 +1,4 @@
   266 @@ -1,4 +1,4 @@
   146  
   267  
   147 - /DEL
   268 - /DEL
   148 + /DEL [-n|--dryrun] [jid]
   269 + /DEL [-n|--dryrun] [jid]
   149  
   270  
   150  Verwijder de actieve buddy uit ons roster, en zet het wederzijds toezenden van status veranderingen stop.
   271  Verwijder de actieve buddy uit ons roster, en zet het wederzijds toezenden van status veranderingen stop.
       
   272 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_move.txt
       
   273 --- a/mcabber/doc/help/nl/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
   274 +++ b/mcabber/doc/help/nl/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
   275 @@ -1,5 +1,6 @@
       
   276  
       
   277 - /MOVE [groepsnaam]
       
   278 + /MOVE [-j|--jid jid] [-n|--name name] [groepsnaam]
       
   279  
       
   280  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.
       
   281 +You can select other buddy that current using options --jid and --name.
       
   282  Tip: indien chatmode actief is, kun je "/roster alternate" gebruiken om direct naar de verplaatste buddy te springen.
       
   283 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_rename.txt
       
   284 --- a/mcabber/doc/help/nl/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   285 +++ b/mcabber/doc/help/nl/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   286 @@ -1,4 +1,6 @@
       
   287  
       
   288 - /RENAME naam
       
   289 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] naam
       
   290  
       
   291 -Hernoem de actieve buddy of groep in de aangegeven "naam". Indien '-' wordt gebruikt als 'naam', wordt die uit het roster verwijderd (en mcabber zal vervolgens de JID of gebruikersnaam tonen).
       
   292 +Hernoem de actieve buddy of groep in de aangegeven "naam".
       
   293 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
       
   294 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   151 diff -r 92fa48ef53c9 mcabber/doc/help/pl/hlp_del.txt
   295 diff -r 92fa48ef53c9 mcabber/doc/help/pl/hlp_del.txt
   152 --- a/mcabber/doc/help/pl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   296 --- a/mcabber/doc/help/pl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   153 +++ b/mcabber/doc/help/pl/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
   297 +++ b/mcabber/doc/help/pl/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   154 @@ -1,4 +1,4 @@
   298 @@ -1,4 +1,4 @@
   155  
   299  
   156 - /DEL
   300 - /DEL
   157 + /DEL [-n|--dryrun] [jid]
   301 + /DEL [-n|--dryrun] [jid]
   158  
   302  
   159  Usuwa aktualnie zaznaczoną osobę z rostera, usuwa subskrypcję powiadomienia dostępności u danej osoby oraz u nas.
   303  Usuwa aktualnie zaznaczoną osobę z rostera, usuwa subskrypcję powiadomienia dostępności u danej osoby oraz u nas.
       
   304 diff -r 92fa48ef53c9 mcabber/doc/help/pl/hlp_move.txt
       
   305 --- a/mcabber/doc/help/pl/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
   306 +++ b/mcabber/doc/help/pl/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
   307 @@ -1,5 +1,6 @@
       
   308  
       
   309 - /MOVE [nazwa grupy]
       
   310 + /MOVE [-j|--jid jid] [-n|--name name] [nazwa grupy]
       
   311  
       
   312  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.
       
   313 +You can select other buddy that current using options --jid and --name.
       
   314  Podpowiedź: jeśli jest włączony tryb czatu, możesz użyć "/roster alternate" aby skoczyć do przeniesionej osoby.
       
   315 diff -r 92fa48ef53c9 mcabber/doc/help/pl/hlp_rename.txt
       
   316 --- a/mcabber/doc/help/pl/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   317 +++ b/mcabber/doc/help/pl/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   318 @@ -1,4 +1,6 @@
       
   319  
       
   320 - /RENAME nazwa
       
   321 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nazwa
       
   322  
       
   323 -Zmienia nazwę aktualnej osoby lub grupy na "nazwa". Jeżeli jako argument polecenia zostanie podany "-" wcześniejsza nazwa zostanie usunięta z listy kontaktów (mcabber będzie wyświetlał JID lub nazwę użytkownika). 
       
   324 +Zmienia nazwę aktualnej osoby lub grupy na "nazwa". 
       
   325 +If --reset is specified, "newname" is ignored and name will be reset to default - jid or username.
       
   326 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   160 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_buffer.txt
   327 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_buffer.txt
   161 --- a/mcabber/doc/help/ru/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   328 --- a/mcabber/doc/help/ru/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   162 +++ b/mcabber/doc/help/ru/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
   329 +++ b/mcabber/doc/help/ru/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   163 @@ -25,7 +25,7 @@
   330 @@ -25,7 +25,7 @@
   164   Перемещает на [n] строк вверх в буфере (истории переписки) (по умолчанию: половина экрана)
   331   Перемещает на [n] строк вверх в буфере (истории переписки) (по умолчанию: половина экрана)
   165  /buffer down [n]
   332  /buffer down [n]
   166   Перемещает на [n] строк вниз в буфере (истории переписки) (по умолчанию: половина экрана)
   333   Перемещает на [n] строк вниз в буфере (истории переписки) (по умолчанию: половина экрана)
   167 -/buffer date [date]
   334 -/buffer date [date]
   169   Перемещает в первой строке после определенной даты [date] в буфере (истории переписки) (формат даты: "год-месяц-день", для примера "2006-01-01")
   336   Перемещает в первой строке после определенной даты [date] в буфере (истории переписки) (формат даты: "год-месяц-день", для примера "2006-01-01")
   170  /buffer % n
   337  /buffer % n
   171   Перемещает на позицию %n в текущем буфере (истории переписки)
   338   Перемещает на позицию %n в текущем буфере (истории переписки)
   172 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_del.txt
   339 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_del.txt
   173 --- a/mcabber/doc/help/ru/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   340 --- a/mcabber/doc/help/ru/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   174 +++ b/mcabber/doc/help/ru/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
   341 +++ b/mcabber/doc/help/ru/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   175 @@ -1,4 +1,4 @@
   342 @@ -1,4 +1,4 @@
   176  
   343  
   177 - /DEL
   344 - /DEL
   178 + /DEL [-n|--dryrun] [jid]
   345 + /DEL [-n|--dryrun] [jid]
   179  
   346  
   180 -Удаляет текущего пользователя из списка контактов, отключает уведомления о его статусе и отключает уведомления пользователя о вашем статусе.
   347 -Удаляет текущего пользователя из списка контактов, отключает уведомления о его статусе и отключает уведомления пользователя о вашем статусе.
   181 +Удаляет текущего пользователя (или указанного с помощью jid) из списка контактов, отключает уведомления о его статусе и отключает уведомление пользователя о вашем статусе.
   348 +Удаляет текущего пользователя (или указанного с помощью jid) из списка контактов, отключает уведомления о его статусе и отключает уведомление пользователя о вашем статусе.
       
   349 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_move.txt
       
   350 --- a/mcabber/doc/help/ru/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
   351 +++ b/mcabber/doc/help/ru/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
   352 @@ -1,6 +1,7 @@
       
   353  
       
   354 - /MOVE [groupname]
       
   355 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
       
   356  
       
   357  Перемещает пользователя в определенную группу. Если группа не указана, пользователь перещается в группу по умолчанию (default group). Если группа "groupname" не создана, она автоматически создается.
       
   358 +С помощью параметров --jid и --name можно перемещать контакты, отличные от текущего.
       
   359  Полезно: Если включен режим чата (chatmode), Вы можете использовать "/roster alternate" для перехода к перемещенному пользователю.
       
   360  
       
   361 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_rename.txt
       
   362 --- a/mcabber/doc/help/ru/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   363 +++ b/mcabber/doc/help/ru/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   364 @@ -1,4 +1,6 @@
       
   365  
       
   366 - /RENAME name
       
   367 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
       
   368  
       
   369 - Переименовывает текущего пользователя или группу в заданное имя "name". Если заданное имя имеет значение "-", то заданное ранее имя текущего пользователя или группы удаляется из списка контактов (mcabber будет отображать JID или имя пользователя по умолчанию).
       
   370 +Переименовывает текущего пользователя или группу в заданное имя "newname".
       
   371 +Если указан параметр --reset, "newname" игнорируется, а имя сбрасывается (mcabber будет отображать JID или имя пользователя по умолчанию).
       
   372 +Для указания обьекта, отличного от текущего, можно использовать опции --jid, --group и --name.
   182 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_buffer.txt
   373 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_buffer.txt
   183 --- a/mcabber/doc/help/uk/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   374 --- a/mcabber/doc/help/uk/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   184 +++ b/mcabber/doc/help/uk/hlp_buffer.txt	Tue Feb 26 23:50:10 2013 +0200
   375 +++ b/mcabber/doc/help/uk/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   185 @@ -25,7 +25,7 @@
   376 @@ -25,7 +25,7 @@
   186   Посунути буфер вверх на n рядків (якщо не вказано - пів екрану).
   377   Посунути буфер вверх на n рядків (якщо не вказано - пів екрану).
   187  /buffer down [n]
   378  /buffer down [n]
   188   Посунути буфер вниз на n рядків (якщо не вказано - пів екрану).
   379   Посунути буфер вниз на n рядків (якщо не вказано - пів екрану).
   189 -/buffer date [дата]
   380 -/buffer date [дата]
   191   Перейти до першого повідомлення після дати (дата вигляду РРРР-ММ-ДД).
   382   Перейти до першого повідомлення після дати (дата вигляду РРРР-ММ-ДД).
   192  /buffer % процент
   383  /buffer % процент
   193   Перейти до вказаної у процентах позиції.
   384   Перейти до вказаної у процентах позиції.
   194 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_del.txt
   385 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_del.txt
   195 --- a/mcabber/doc/help/uk/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   386 --- a/mcabber/doc/help/uk/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   196 +++ b/mcabber/doc/help/uk/hlp_del.txt	Tue Feb 26 23:50:10 2013 +0200
   387 +++ b/mcabber/doc/help/uk/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   197 @@ -1,4 +1,4 @@
   388 @@ -1,4 +1,4 @@
   198  
   389  
   199 - /DEL
   390 - /DEL
   200 + /DEL [-n|--dryrun] [jid]
   391 + /DEL [-n|--dryrun] [jid]
   201  
   392  
   202 -Потерти поточний контакт зі списку. На додачу відписатися від його повідомлень про статус і відписати його від ваших.
   393 -Потерти поточний контакт зі списку. На додачу відписатися від його повідомлень про статус і відписати його від ваших.
   203 +Потерти поточний контакт (або контакт, що має вказаний jid) зі списку. Також відписатися від його сповіщень про статус і відписати його від ваших.
   394 +Потерти поточний контакт (або контакт, що має вказаний jid) зі списку. Також відписатися від його сповіщень про статус і відписати його від ваших.
       
   395 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_move.txt
       
   396 --- a/mcabber/doc/help/uk/hlp_move.txt	Sun Jan 27 00:40:37 2013 +0200
       
   397 +++ b/mcabber/doc/help/uk/hlp_move.txt	Wed Feb 27 03:19:07 2013 +0200
       
   398 @@ -1,5 +1,6 @@
       
   399  
       
   400 - /MOVE [група]
       
   401 + /MOVE [-j|--jid jid] [-n|--name ім’я] [група]
       
   402  
       
   403 -Переносить поточний контакт до вказаної групи. Якщо групу не вказати контакт опиниться у головній групі. Якщо група не існує, її буде створено.
       
   404 +Переносить поточний контакт до вказаної групи. Якщо групу не вказати контакт опиниться у головній групі. Якщо групи не існує, її буде створено.
       
   405 +За допомогою опцій --jid та --name можна перемістити контакт, відмінний від поточного.
       
   406  Примітка: в режимі розмови можна використати "/roster alternate", щоб перейти до нового місця контакту контакту.
       
   407 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_rename.txt
       
   408 --- a/mcabber/doc/help/uk/hlp_rename.txt	Sun Jan 27 00:40:37 2013 +0200
       
   409 +++ b/mcabber/doc/help/uk/hlp_rename.txt	Wed Feb 27 03:19:07 2013 +0200
       
   410 @@ -1,4 +1,6 @@
       
   411  
       
   412 - /RENAME ім'я
       
   413 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group ім’я] [-n|--name ім’я] нове ім’я
       
   414  
       
   415  Змінює прізвисько поточного контакту або назву групи.
       
   416 +За допомогою параметра --reset можна повернути контакту типову назву. При цьому нове ім’я (якщо вказане) ігнорується.
       
   417 +Опції --jid, --group та --name дозволяють перейменовувати об’єкти, відмінні від поточного.
   204 diff -r 92fa48ef53c9 mcabber/mcabber/commands.c
   418 diff -r 92fa48ef53c9 mcabber/mcabber/commands.c
   205 --- a/mcabber/mcabber/commands.c	Sun Jan 27 00:40:37 2013 +0200
   419 --- a/mcabber/mcabber/commands.c	Sun Jan 27 00:40:37 2013 +0200
   206 +++ b/mcabber/mcabber/commands.c	Tue Feb 26 23:50:10 2013 +0200
   420 +++ b/mcabber/mcabber/commands.c	Wed Feb 27 03:19:07 2013 +0200
   207 @@ -502,7 +502,9 @@
   421 @@ -502,7 +502,9 @@
   208    if (!iscmd && scr_get_multimode() == 2
   422    if (!iscmd && scr_get_multimode() == 2
   209        && (strncasecmp(xpline, mkcmdstr("msay "), strlen(mkcmdstr("msay "))))) {
   423        && (strncasecmp(xpline, mkcmdstr("msay "), strlen(mkcmdstr("msay "))))) {
   210      // It isn't an /msay command
   424      // It isn't an /msay command
   211 -    scr_append_multiline(xpline);
   425 -    scr_append_multiline(xpline);
  1931 -      if (style == style_detail) {
  2145 -      if (style == style_detail) {
  1932 +      if (style == room_names_style_detail) {
  2146 +      if (style == room_names_style_detail) {
  1933          enum imrole role = buddy_getrole(bud, p_res->data);
  2147          enum imrole role = buddy_getrole(bud, p_res->data);
  1934          enum imaffiliation affil = buddy_getaffil(bud, p_res->data);
  2148          enum imaffiliation affil = buddy_getaffil(bud, p_res->data);
  1935  
  2149  
  1936 @@ -2874,7 +3019,7 @@
  2150 @@ -2145,16 +2290,69 @@
       
  2151  
       
  2152  static void do_rename(char *arg)
       
  2153  {
       
  2154 +  cmdopts_t options = {
       
  2155 +    "rename",
       
  2156 +    (cmdopt_t[4]){
       
  2157 +      { CMDOPT_SWITCH, 'r', "reset", { .swc = 0 } },
       
  2158 +      { 0,             'n', "name",  { .opt = NULL } },
       
  2159 +      { 0,             'g', "group", { .opt = NULL } },
       
  2160 +      { CMDOPT_LAST,   'j', "jid",   { .opt = "." } },
       
  2161 +    },
       
  2162 +    (cmdarg_t[1]){
       
  2163 +      { CMDOPT_CATCHALL | CMDOPT_LAST, { .arg = NULL } }, // new name
       
  2164 +    },
       
  2165 +    NULL,
       
  2166 +  };
       
  2167    gpointer bud;
       
  2168    const char *bjid, *group;
       
  2169    guint type, on_srv;
       
  2170    char *newname, *p;
       
  2171 -  char *name_utf8;
       
  2172 -
       
  2173 -  if (!current_buddy)
       
  2174 +  gboolean reset;
       
  2175 +  enum findwhat srchwhat = jidsearch;
       
  2176 +  guint         srchtype = ROSTER_TYPE_USER | ROSTER_TYPE_ROOM | ROSTER_TYPE_AGENT;
       
  2177 +  gchar        *srchterm;
       
  2178 +
       
  2179 +  if (cmdopts_parse(arg, &options))
       
  2180      return;
       
  2181 -  bud = BUDDATA(current_buddy);
       
  2182 -
       
  2183 +
       
  2184 +  reset   = options.opts[0].value.swc;
       
  2185 +  newname = options.args[0].value.arg;
       
  2186 +
       
  2187 +  if (options.opts[1].value.opt) { // n
       
  2188 +    srchwhat = namesearch;
       
  2189 +    srchtype |= ROSTER_TYPE_GROUP;
       
  2190 +    srchterm = options.opts[1].value.opt;
       
  2191 +  } else if (options.opts[2].value.opt) { // g
       
  2192 +    srchwhat = namesearch;
       
  2193 +    srchtype = ROSTER_TYPE_GROUP;
       
  2194 +    srchterm = options.opts[2].value.opt;
       
  2195 +  } else
       
  2196 +    srchterm = options.opts[3].value.opt;
       
  2197 +
       
  2198 +  if (!*srchterm || !strcmp(srchterm, ".")) {
       
  2199 +    if (!current_buddy) {
       
  2200 +      cmdopts_free(&options);
       
  2201 +      return;
       
  2202 +    }
       
  2203 +    bud = BUDDATA(current_buddy);
       
  2204 +    if (srchtype == ROSTER_TYPE_GROUP)
       
  2205 +      bud = buddy_getgroup(bud);
       
  2206 +  } else {
       
  2207 +    GSList *found;
       
  2208 +    if (srchwhat == jidsearch && check_jid_syntax(srchterm)) {
       
  2209 +      scr_log_print(LPRINT_NORMAL, "You must specify a valid jid!");
       
  2210 +      cmdopts_free(&options);
       
  2211 +      return;
       
  2212 +    }
       
  2213 +    found = roster_find(srchterm, srchwhat, srchtype);
       
  2214 +    if (!found) {
       
  2215 +      scr_log_print(LPRINT_NORMAL, "Can't find <%s>!", srchterm);
       
  2216 +      cmdopts_free(&options);
       
  2217 +      return;
       
  2218 +    }
       
  2219 +    bud = found -> data;
       
  2220 +  }
       
  2221 +    
       
  2222    bjid   = buddy_getjid(bud);
       
  2223    group  = buddy_getgroupname(bud);
       
  2224    type   = buddy_gettype(bud);
       
  2225 @@ -2162,11 +2360,13 @@
       
  2226  
       
  2227    if (type & ROSTER_TYPE_SPECIAL) {
       
  2228      scr_LogPrint(LPRINT_NORMAL, "You can't rename this item.");
       
  2229 +    cmdopts_free(&options);
       
  2230      return;
       
  2231    }
       
  2232  
       
  2233 -  if (!*arg && !(type & ROSTER_TYPE_GROUP)) {
       
  2234 +  if (!*newname && !reset) {
       
  2235      scr_LogPrint(LPRINT_NORMAL, "Please specify a new name.");
       
  2236 +    cmdopts_free(&options);
       
  2237      return;
       
  2238    }
       
  2239  
       
  2240 @@ -2181,90 +2381,117 @@
       
  2241    //  }
       
  2242    //}
       
  2243  
       
  2244 -  newname = g_strdup(arg);
       
  2245    // Remove trailing space
       
  2246    for (p = newname; *p; p++) ;
       
  2247    while (p > newname && *p == ' ') *p = 0;
       
  2248  
       
  2249 -  strip_arg_special_chars(newname);
       
  2250 -
       
  2251 -  name_utf8 = to_utf8(newname);
       
  2252 -
       
  2253    if (type & ROSTER_TYPE_GROUP) {
       
  2254      // Rename a whole group
       
  2255 -    foreach_group_member(bud, &move_group_member, name_utf8);
       
  2256 +    foreach_group_member(bud, &move_group_member, newname);
       
  2257      // Let's jump to the previous buddy, because this group name should
       
  2258      // disappear when we receive the server answer.
       
  2259      scr_roster_up_down(-1, 1);
       
  2260    } else {
       
  2261      // Rename a single buddy
       
  2262 -    guint del_name = 0;
       
  2263 -    if (!*newname || !strcmp(arg, "-"))
       
  2264 -      del_name = TRUE;
       
  2265      if (on_srv) {
       
  2266 -      /* We do not rename the buddy right now because the server could reject
       
  2267 -       * the request.  Let's wait for the server answer.
       
  2268 -       */
       
  2269 -      xmpp_updatebuddy(bjid, (del_name ? NULL : name_utf8),
       
  2270 +      // We do not rename the buddy right now because the server could reject
       
  2271 +      // the request.  Let's wait for the server answer.
       
  2272 +      xmpp_updatebuddy(bjid, (reset ? NULL : newname),
       
  2273                         group && *group ? group : NULL);
       
  2274      } else {
       
  2275        // This is a local item, we rename it without adding to roster.
       
  2276 -      buddy_setname(bud, (del_name ? (char*)bjid : name_utf8));
       
  2277 +      buddy_setname(bud, (reset ? (char*)bjid : newname));
       
  2278        if ((type & ROSTER_TYPE_ROOM) && xmpp_is_bookmarked(bjid) &&
       
  2279            settings_opt_get_int("muc_bookmark_autoupdate"))
       
  2280          room_bookmark(bud, NULL);
       
  2281      }
       
  2282    }
       
  2283  
       
  2284 -  g_free(name_utf8);
       
  2285 -  g_free(newname);
       
  2286 +  cmdopts_free(&options);
       
  2287    update_roster = TRUE;
       
  2288  }
       
  2289  
       
  2290  static void do_move(char *arg)
       
  2291  {
       
  2292 +  cmdopts_t options = {
       
  2293 +    "move",
       
  2294 +    (cmdopt_t[4]){
       
  2295 +      { 0,           'n', "name", { .opt = NULL } },
       
  2296 +      { CMDOPT_LAST, 'j', "jid",  { .opt = "." } },
       
  2297 +    },
       
  2298 +    (cmdarg_t[1]){
       
  2299 +      { CMDOPT_CATCHALL | CMDOPT_LAST, { .arg = "" } }, // new group name
       
  2300 +    },
       
  2301 +    NULL,
       
  2302 +  };
       
  2303    gpointer bud;
       
  2304    const char *bjid, *name, *oldgroupname;
       
  2305    guint type, on_srv;
       
  2306    char *newgroupname, *p;
       
  2307 -  char *group_utf8;
       
  2308 -
       
  2309 -  if (!current_buddy)
       
  2310 +  enum findwhat srchwhat = jidsearch;
       
  2311 +  gchar        *srchterm;
       
  2312 +
       
  2313 +  if (cmdopts_parse(arg, &options))
       
  2314      return;
       
  2315 -  bud = BUDDATA(current_buddy);
       
  2316 +
       
  2317 +  newgroupname = options.args[0].value.arg;
       
  2318 +
       
  2319 +  if (options.opts[0].value.opt) { // n
       
  2320 +    srchwhat = namesearch;
       
  2321 +    srchterm = options.opts[0].value.opt;
       
  2322 +  } else
       
  2323 +    srchterm = options.opts[1].value.opt;
       
  2324 +
       
  2325 +  if (!*srchterm || !strcmp(srchterm, ".")) {
       
  2326 +    if (!current_buddy) {
       
  2327 +      cmdopts_free(&options);
       
  2328 +      return;
       
  2329 +    }
       
  2330 +    bud = BUDDATA(current_buddy);
       
  2331 +  } else {
       
  2332 +    GSList *found;
       
  2333 +    if (srchwhat == jidsearch && check_jid_syntax(srchterm)) {
       
  2334 +      scr_log_print(LPRINT_NORMAL, "You must specify a valid jid!");
       
  2335 +      cmdopts_free(&options);
       
  2336 +      return;
       
  2337 +    }
       
  2338 +    found = roster_find(srchterm, srchwhat, ROSTER_TYPE_USER |
       
  2339 +                        ROSTER_TYPE_ROOM | ROSTER_TYPE_AGENT);
       
  2340 +    if (!found) {
       
  2341 +      scr_log_print(LPRINT_NORMAL, "Can't find <%s>!", srchterm);
       
  2342 +      cmdopts_free(&options);
       
  2343 +      return;
       
  2344 +    }
       
  2345 +    bud = found -> data;
       
  2346 +  }
       
  2347  
       
  2348    bjid = buddy_getjid(bud);
       
  2349    name = buddy_getname(bud);
       
  2350    type = buddy_gettype(bud);
       
  2351    on_srv = buddy_getonserverflag(bud);
       
  2352 -
       
  2353    oldgroupname = buddy_getgroupname(bud);
       
  2354  
       
  2355    if (type & ROSTER_TYPE_GROUP) {
       
  2356      scr_LogPrint(LPRINT_NORMAL, "You can't move groups!");
       
  2357 +    cmdopts_free(&options);
       
  2358      return;
       
  2359    }
       
  2360    if (type & ROSTER_TYPE_SPECIAL) {
       
  2361      scr_LogPrint(LPRINT_NORMAL, "You can't move this item.");
       
  2362 +    cmdopts_free(&options);
       
  2363      return;
       
  2364    }
       
  2365  
       
  2366 -  newgroupname = g_strdup(arg);
       
  2367    // Remove trailing space
       
  2368    for (p = newgroupname; *p; p++) ;
       
  2369    while (p > newgroupname && *p == ' ') *p-- = 0;
       
  2370  
       
  2371 -  strip_arg_special_chars(newgroupname);
       
  2372 -
       
  2373 -  group_utf8 = to_utf8(newgroupname);
       
  2374 -  if (strcmp(oldgroupname, group_utf8)) {
       
  2375 +  if (strcmp(oldgroupname, newgroupname)) {
       
  2376      if (on_srv) {
       
  2377 -      xmpp_updatebuddy(bjid, name, *group_utf8 ? group_utf8 : NULL);
       
  2378 +      xmpp_updatebuddy(bjid, name, *newgroupname ? newgroupname : NULL);
       
  2379        scr_roster_up_down(-1, 1);
       
  2380 -
       
  2381 -      /* We do not move the buddy right now because the server could reject
       
  2382 -       * the request.  Let's wait for the server answer.
       
  2383 -       */
       
  2384 +      // We do not move the buddy right now because the server could reject
       
  2385 +      // the request.  Let's wait for the server answer.
       
  2386      } else {
       
  2387        // This is a local item, we move it without adding to roster.
       
  2388        guint msgflag;
       
  2389 @@ -2276,7 +2503,7 @@
       
  2390        msgflag = buddy_getflags(bud) & ROSTER_FLAG_MSG;
       
  2391        if (msgflag)
       
  2392          roster_msg_setflag(bjid, FALSE, FALSE);
       
  2393 -      buddy_setgroup(bud, group_utf8);
       
  2394 +      buddy_setgroup(bud, newgroupname);
       
  2395        if (msgflag)
       
  2396          roster_msg_setflag(bjid, FALSE, TRUE);
       
  2397        if ((type & ROSTER_TYPE_ROOM) && xmpp_is_bookmarked(bjid) &&
       
  2398 @@ -2285,8 +2512,7 @@
       
  2399      }
       
  2400    }
       
  2401  
       
  2402 -  g_free(group_utf8);
       
  2403 -  g_free(newgroupname);
       
  2404 +  cmdopts_free(&options);
       
  2405    update_roster = TRUE;
       
  2406  }
       
  2407  
       
  2408 @@ -2874,7 +3100,7 @@
  1937    fjid_utf8 = g_strdup_printf("%s/%s", buddy_getjid(bud), nick_utf8);
  2409    fjid_utf8 = g_strdup_printf("%s/%s", buddy_getjid(bud), nick_utf8);
  1938    g_free (nick_utf8);
  2410    g_free (nick_utf8);
  1939    msg = to_utf8(arg);
  2411    msg = to_utf8(arg);
  1940 -  send_message_to(fjid_utf8, msg, NULL, LM_MESSAGE_SUB_TYPE_NOT_SET, FALSE);
  2412 -  send_message_to(fjid_utf8, msg, NULL, LM_MESSAGE_SUB_TYPE_NOT_SET, FALSE);
  1941 +  send_message_to(fjid_utf8, msg, NULL, msgtype_not_set, FALSE);
  2413 +  send_message_to(fjid_utf8, msg, NULL, msgtype_not_set, FALSE);
  1942    g_free(fjid_utf8);
  2414    g_free(fjid_utf8);
  1943    g_free(msg);
  2415    g_free(msg);
  1944    free_arg_lst(paramlst);
  2416    free_arg_lst(paramlst);
  1945 @@ -3347,7 +3492,7 @@
  2417 @@ -3347,7 +3573,7 @@
  1946        cmd_room_leave(bud, arg);
  2418        cmd_room_leave(bud, arg);
  1947    } else if (!strcasecmp(subcmd, "names"))  {
  2419    } else if (!strcasecmp(subcmd, "names"))  {
  1948      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  2420      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  1949 -      room_names(bud, arg);
  2421 -      room_names(bud, arg);
  1950 +      room_names(bud, room_names_style_normal); // FIXME
  2422 +      room_names(bud, room_names_style_normal); // FIXME
  1951    } else if (!strcasecmp(subcmd, "nick"))  {
  2423    } else if (!strcasecmp(subcmd, "nick"))  {
  1952      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  2424      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  1953        room_nick(bud, arg);
  2425        room_nick(bud, arg);
  1954 diff -r 92fa48ef53c9 mcabber/mcabber/commands.h
  2426 diff -r 92fa48ef53c9 mcabber/mcabber/commands.h
  1955 --- a/mcabber/mcabber/commands.h	Sun Jan 27 00:40:37 2013 +0200
  2427 --- a/mcabber/mcabber/commands.h	Sun Jan 27 00:40:37 2013 +0200
  1956 +++ b/mcabber/mcabber/commands.h	Tue Feb 26 23:50:10 2013 +0200
  2428 +++ b/mcabber/mcabber/commands.h	Wed Feb 27 03:19:07 2013 +0200
  1957 @@ -14,6 +14,12 @@
  2429 @@ -14,6 +14,12 @@
  1958    gpointer userdata;
  2430    gpointer userdata;
  1959  } cmd;
  2431  } cmd;
  1960  
  2432  
  1961 +typedef enum {
  2433 +typedef enum {
  1979  
  2451  
  1980  #endif /* __MCABBER_COMMANDS_H__ */
  2452  #endif /* __MCABBER_COMMANDS_H__ */
  1981  
  2453  
  1982 diff -r 92fa48ef53c9 mcabber/mcabber/roster.c
  2454 diff -r 92fa48ef53c9 mcabber/mcabber/roster.c
  1983 --- a/mcabber/mcabber/roster.c	Sun Jan 27 00:40:37 2013 +0200
  2455 --- a/mcabber/mcabber/roster.c	Sun Jan 27 00:40:37 2013 +0200
  1984 +++ b/mcabber/mcabber/roster.c	Tue Feb 26 23:50:10 2013 +0200
  2456 +++ b/mcabber/mcabber/roster.c	Wed Feb 27 03:19:07 2013 +0200
  1985 @@ -1586,13 +1586,14 @@
  2457 @@ -1586,13 +1586,14 @@
  1986  // Look for a buddy whose name or jid contains string.
  2458  // Look for a buddy whose name or jid contains string.
  1987  // Search begins at current_buddy; if no match is found in the the buddylist,
  2459  // Search begins at current_buddy; if no match is found in the the buddylist,
  1988  // return NULL;
  2460  // return NULL;
  1989 +// Note: before this function considered its argument to be in local encoding,
  2461 +// Note: before this function considered its argument to be in local encoding,
  2020        if (found)
  2492        if (found)
  2021          return buddy;
  2493          return buddy;
  2022      }
  2494      }
  2023 diff -r 92fa48ef53c9 mcabber/mcabber/utils.c
  2495 diff -r 92fa48ef53c9 mcabber/mcabber/utils.c
  2024 --- a/mcabber/mcabber/utils.c	Sun Jan 27 00:40:37 2013 +0200
  2496 --- a/mcabber/mcabber/utils.c	Sun Jan 27 00:40:37 2013 +0200
  2025 +++ b/mcabber/mcabber/utils.c	Tue Feb 26 23:50:10 2013 +0200
  2497 +++ b/mcabber/mcabber/utils.c	Wed Feb 27 03:19:07 2013 +0200
  2026 @@ -555,6 +555,318 @@
  2498 @@ -555,6 +555,318 @@
  2027      *str = tolower(*str);
  2499      *str = tolower(*str);
  2028  }
  2500  }
  2029  
  2501  
  2030 +// in_space        -> in_space, in_optstart, in_argstart
  2502 +// in_space        -> in_space, in_optstart, in_argstart
  2342  //  strip_arg_special_chars(string)
  2814  //  strip_arg_special_chars(string)
  2343  // Remove quotes and backslashes before an escaped quote
  2815  // Remove quotes and backslashes before an escaped quote
  2344  // Only quotes need a backslash
  2816  // Only quotes need a backslash
  2345 diff -r 92fa48ef53c9 mcabber/mcabber/utils.h
  2817 diff -r 92fa48ef53c9 mcabber/mcabber/utils.h
  2346 --- a/mcabber/mcabber/utils.h	Sun Jan 27 00:40:37 2013 +0200
  2818 --- a/mcabber/mcabber/utils.h	Sun Jan 27 00:40:37 2013 +0200
  2347 +++ b/mcabber/mcabber/utils.h	Tue Feb 26 23:50:10 2013 +0200
  2819 +++ b/mcabber/mcabber/utils.h	Wed Feb 27 03:19:07 2013 +0200
  2348 @@ -43,6 +43,97 @@
  2820 @@ -43,6 +43,97 @@
  2349  char **split_arg(const char *arg, unsigned int n, int dontstriplast);
  2821  char **split_arg(const char *arg, unsigned int n, int dontstriplast);
  2350  void free_arg_lst(char **arglst);
  2822  void free_arg_lst(char **arglst);
  2351  
  2823  
  2352 +//  error cmdopts_parse (argstring, optionlist)
  2824 +//  error cmdopts_parse (argstring, optionlist)
  2443  void replace_nl_with_dots(char *bufstr);
  2915  void replace_nl_with_dots(char *bufstr);
  2444  char *ut_expand_tabs(const char *text);
  2916  char *ut_expand_tabs(const char *text);
  2445  char *ut_unescape_tabs_cr(const char *text);
  2917  char *ut_unescape_tabs_cr(const char *text);
  2446 diff -r 92fa48ef53c9 mcabber/mcabber/xmpp_iq.c
  2918 diff -r 92fa48ef53c9 mcabber/mcabber/xmpp_iq.c
  2447 --- a/mcabber/mcabber/xmpp_iq.c	Sun Jan 27 00:40:37 2013 +0200
  2919 --- a/mcabber/mcabber/xmpp_iq.c	Sun Jan 27 00:40:37 2013 +0200
  2448 +++ b/mcabber/mcabber/xmpp_iq.c	Tue Feb 26 23:50:10 2013 +0200
  2920 +++ b/mcabber/mcabber/xmpp_iq.c	Wed Feb 27 03:19:07 2013 +0200
  2449 @@ -289,10 +289,7 @@
  2921 @@ -289,10 +289,7 @@
  2450        if (value) {
  2922        if (value) {
  2451          for (s = adhoc_status_list; !s->name || strcmp(s->name, value); s++);
  2923          for (s = adhoc_status_list; !s->name || strcmp(s->name, value); s++);
  2452          if (s->name) {
  2924          if (s->name) {
  2453 -          char *status = g_strdup_printf("%s %s", s->status,
  2925 -          char *status = g_strdup_printf("%s %s", s->status,