cmdopts.diff
changeset 73 feae79fcc408
parent 72 99d64d6ebe89
child 74 a879ea179877
equal deleted inserted replaced
72:99d64d6ebe89 73:feae79fcc408
    23   * /rename uses parser
    23   * /rename uses parser
    24     * -r(--reset) instead of '-'
    24     * -r(--reset) instead of '-'
    25     * -j(--jid), -g(--group), -n(--name)
    25     * -j(--jid), -g(--group), -n(--name)
    26   * /move uses parser
    26   * /move uses parser
    27     * -j(--jid), -n(--name)
    27     * -j(--jid), -n(--name)
       
    28   * /rawxml uses parser
    28 
    29 
    29 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_buffer.txt
    30 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_buffer.txt
    30 --- a/mcabber/doc/help/cs/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    31 --- a/mcabber/doc/help/cs/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    31 +++ b/mcabber/doc/help/cs/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
    32 +++ b/mcabber/doc/help/cs/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
    32 @@ -25,7 +25,7 @@
    33 @@ -25,7 +25,7 @@
    33   Přesune se o [n] řádků nahoru (výchozí: polovina obrazovky).
    34   Přesune se o [n] řádků nahoru (výchozí: polovina obrazovky).
    34  /buffer down [n]
    35  /buffer down [n]
    35   Přesune se o [n] řádků dolů (výchozí: polovina obrazovky).
    36   Přesune se o [n] řádků dolů (výchozí: polovina obrazovky).
    36 -/buffer date [datum]
    37 -/buffer date [datum]
    38   Přesune se na první řádek po datu [datum] (formát: "RRRR-mm-dd").
    39   Přesune se na první řádek po datu [datum] (formát: "RRRR-mm-dd").
    39  /buffer % n
    40  /buffer % n
    40   Přesune se na procentuální pozici n%.
    41   Přesune se na procentuální pozici n%.
    41 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_del.txt
    42 diff -r 92fa48ef53c9 mcabber/doc/help/cs/hlp_del.txt
    42 --- a/mcabber/doc/help/cs/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    43 --- a/mcabber/doc/help/cs/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    43 +++ b/mcabber/doc/help/cs/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
    44 +++ b/mcabber/doc/help/cs/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
    44 @@ -1,4 +1,4 @@
    45 @@ -1,4 +1,4 @@
    45  
    46  
    46 - /DEL
    47 - /DEL
    47 + /DEL [-n|--dryrun] [jid]
    48 + /DEL [-n|--dryrun] [jid]
    48  
    49  
    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  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 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 --- 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 +++ b/mcabber/doc/help/cs/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
    53 @@ -1,5 +1,6 @@
    54 @@ -1,5 +1,6 @@
    54  
    55  
    55 - /MOVE [skupina]
    56 - /MOVE [skupina]
    56 + /MOVE [-j|--jid jid] [-n|--name name] [skupina]
    57 + /MOVE [-j|--jid jid] [-n|--name name] [skupina]
    57  
    58  
    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  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 +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  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 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 --- 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 +++ b/mcabber/doc/help/cs/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
    64 @@ -1,4 +1,6 @@
    65 @@ -1,4 +1,6 @@
    65  
    66  
    66 - /RENAME jméno
    67 - /RENAME jméno
    67 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] jméno
    68 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] jméno
    68  
    69  
    70 +Přejmenuje aktuálního uživatele nebo skupinu na 'jméno'.
    71 +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 +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.
    73 +Optionally you can use one of --jid, --group or --name to select object, different from current.
    73 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_buffer.txt
    74 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_buffer.txt
    74 --- a/mcabber/doc/help/de/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    75 --- a/mcabber/doc/help/de/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
    75 +++ b/mcabber/doc/help/de/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
    76 +++ b/mcabber/doc/help/de/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
    76 @@ -25,7 +25,7 @@
    77 @@ -25,7 +25,7 @@
    77   Scrollt den Puffer um n Zeilen hoch. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    78   Scrollt den Puffer um n Zeilen hoch. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    78  /buffer down [n]
    79  /buffer down [n]
    79   Scrollt den Puffer um n Zeilen runter. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    80   Scrollt den Puffer um n Zeilen runter. Gibt man keine Zahl an, scrollt er um einen halben Bildschirm
    80 -/buffer date [date]
    81 -/buffer date [date]
    82   Springe zu der ersten Zeile nach dem Datum, welches im Format "JJJJ-mm-tt" anstatt [date] angegeben werden muss
    83   Springe zu der ersten Zeile nach dem Datum, welches im Format "JJJJ-mm-tt" anstatt [date] angegeben werden muss
    83  /buffer % n
    84  /buffer % n
    84   Springe zur Position "n" im Chatpuffer
    85   Springe zur Position "n" im Chatpuffer
    85 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_del.txt
    86 diff -r 92fa48ef53c9 mcabber/doc/help/de/hlp_del.txt
    86 --- a/mcabber/doc/help/de/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    87 --- a/mcabber/doc/help/de/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
    87 +++ b/mcabber/doc/help/de/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
    88 +++ b/mcabber/doc/help/de/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
    88 @@ -1,4 +1,4 @@
    89 @@ -1,4 +1,4 @@
    89  
    90  
    90 - /DEL
    91 - /DEL
    91 + /DEL [-n|--dryrun] [jid]
    92 + /DEL [-n|--dryrun] [jid]
    92  
    93  
    93  Löscht den gerade ausgewählten Buddy vom Roster. Außerdem werden die automatischen Presence Benachrichtigungen vom/zum Buddy gestoppt.
    94  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 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 --- 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 +++ b/mcabber/doc/help/de/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
    97 @@ -1,6 +1,7 @@
    98 @@ -1,6 +1,7 @@
    98  
    99  
    99 - /MOVE [groupname]
   100 - /MOVE [groupname]
   100 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   101 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   101  
   102  
   103 +You can select other buddy that current using options --jid and --name.
   104 +You can select other buddy that current using options --jid and --name.
   104  
   105  
   105  Tipp: Wenn der Chatmodus aktiviert ist, kannst du "/roster alternate" benutzen um zu dem gerade bewegten Buddy zu springen.
   106  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 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 --- 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 +++ b/mcabber/doc/help/de/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   109 @@ -1,4 +1,6 @@
   110 @@ -1,4 +1,6 @@
   110  
   111  
   111 - /RENAME name
   112 - /RENAME name
   112 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
   113 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
   113  
   114  
   115 +Setzt den Namen des gerade ausgewählten Buddys bzw. der ausgewählten Gruppe auf "name".
   116 +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 +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.
   118 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   118 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_buffer.txt
   119 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_buffer.txt
   119 --- a/mcabber/doc/help/en/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   120 --- a/mcabber/doc/help/en/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   120 +++ b/mcabber/doc/help/en/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   121 +++ b/mcabber/doc/help/en/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
   121 @@ -25,7 +25,7 @@
   122 @@ -25,7 +25,7 @@
   122   Scroll the buffer up [n] lines (default: half a screen)
   123   Scroll the buffer up [n] lines (default: half a screen)
   123  /buffer down [n]
   124  /buffer down [n]
   124   Scroll the buffer down [n] lines (default: half a screen)
   125   Scroll the buffer down [n] lines (default: half a screen)
   125 -/buffer date [date]
   126 -/buffer date [date]
   127   Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
   128   Jump to the first line after the specified [date] in the chat buffer (date format: "YYYY-mm-dd")
   128  /buffer % n
   129  /buffer % n
   129   Jump to position %n of the buddy chat buffer
   130   Jump to position %n of the buddy chat buffer
   130 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_del.txt
   131 diff -r 92fa48ef53c9 mcabber/doc/help/en/hlp_del.txt
   131 --- a/mcabber/doc/help/en/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   132 --- a/mcabber/doc/help/en/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   132 +++ b/mcabber/doc/help/en/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   133 +++ b/mcabber/doc/help/en/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
   133 @@ -1,4 +1,4 @@
   134 @@ -1,4 +1,4 @@
   134  
   135  
   135 - /DEL
   136 - /DEL
   136 + /DEL [-n|--dryrun] [jid]
   137 + /DEL [-n|--dryrun] [jid]
   137  
   138  
   138 -Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours.
   139 -Delete the current buddy 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 +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 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 --- 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 +++ b/mcabber/doc/help/en/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
   143 @@ -1,5 +1,6 @@
   144 @@ -1,5 +1,6 @@
   144  
   145  
   145 - /MOVE [groupname]
   146 - /MOVE [groupname]
   146 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   147 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   147  
   148  
   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  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 +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  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 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 --- 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 +++ b/mcabber/doc/help/en/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   154 @@ -1,4 +1,6 @@
   155 @@ -1,4 +1,6 @@
   155  
   156  
   156 - /RENAME name
   157 - /RENAME name
   157 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
   158 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
   158  
   159  
   160 +Rename the current buddy or group to the given "newname".
   161 +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 +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.
   163 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   163 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_buffer.txt
   164 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_buffer.txt
   164 --- a/mcabber/doc/help/fr/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   165 --- a/mcabber/doc/help/fr/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   165 +++ b/mcabber/doc/help/fr/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   166 +++ b/mcabber/doc/help/fr/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
   166 @@ -25,7 +25,7 @@
   167 @@ -25,7 +25,7 @@
   167   Défile vers le haut de [n] lignes (par défaut un demi écran)
   168   Défile vers le haut de [n] lignes (par défaut un demi écran)
   168  /buffer down [n]
   169  /buffer down [n]
   169   Défile vers le bas de [n] lignes (par défaut un demi écran)
   170   Défile vers le bas de [n] lignes (par défaut un demi écran)
   170 -/buffer date [date]
   171 -/buffer date [date]
   172   Va à la première ligne après la [date] dans le tampon actuel (format: "aaaa-mm-jj")
   173   Va à la première ligne après la [date] dans le tampon actuel (format: "aaaa-mm-jj")
   173  /buffer % n
   174  /buffer % n
   174   Va à la position n% du tampon
   175   Va à la position n% du tampon
   175 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_del.txt
   176 diff -r 92fa48ef53c9 mcabber/doc/help/fr/hlp_del.txt
   176 --- a/mcabber/doc/help/fr/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   177 --- a/mcabber/doc/help/fr/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   177 +++ b/mcabber/doc/help/fr/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   178 +++ b/mcabber/doc/help/fr/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
   178 @@ -1,4 +1,4 @@
   179 @@ -1,4 +1,4 @@
   179  
   180  
   180 - /DEL
   181 - /DEL
   181 + /DEL [-n|--dryrun] [jid]
   182 + /DEL [-n|--dryrun] [jid]
   182  
   183  
   183  Supprime le contact sélectionné du roster, supprime notre abonnement à ses notifications de présence et supprime son abonnement aux nôtres.
   184  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 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 --- 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 +++ b/mcabber/doc/help/fr/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
   187 @@ -1,5 +1,6 @@
   188 @@ -1,5 +1,6 @@
   188  
   189  
   189 - /MOVE [groupname]
   190 - /MOVE [groupname]
   190 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   191 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   191  
   192  
   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  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 +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  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 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 --- 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 +++ b/mcabber/doc/help/fr/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   198 @@ -1,4 +1,6 @@
   199 @@ -1,4 +1,6 @@
   199  
   200  
   200 - /RENAME nom
   201 - /RENAME nom
   201 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nom
   202 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nom
   202  
   203  
   204 +Renomme le contact/groupe sélectionné avec le "nom" spécifié.
   205 +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 +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.
   207 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   207 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_buffer.txt
   208 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_buffer.txt
   208 --- a/mcabber/doc/help/it/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   209 --- a/mcabber/doc/help/it/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   209 +++ b/mcabber/doc/help/it/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   210 +++ b/mcabber/doc/help/it/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
   210 @@ -25,7 +25,7 @@
   211 @@ -25,7 +25,7 @@
   211   Fa scorrere indietro il buffer di [n] linee (default: metà schermo)
   212   Fa scorrere indietro il buffer di [n] linee (default: metà schermo)
   212  /buffer down [n]
   213  /buffer down [n]
   213   Fa scorrere avanti il buffer di [n] linee (default: metà schermo)
   214   Fa scorrere avanti il buffer di [n] linee (default: metà schermo)
   214 -/buffer date [data]
   215 -/buffer date [data]
   216   Salta alla prima linea successiva alla [data] specificata nel buffer di chat (formato della data: "YYYY-mm-dd")
   217   Salta alla prima linea successiva alla [data] specificata nel buffer di chat (formato della data: "YYYY-mm-dd")
   217  /buffer % n
   218  /buffer % n
   218   Salta alla posizione %n del buffer di chat corrente
   219   Salta alla posizione %n del buffer di chat corrente
   219 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_del.txt
   220 diff -r 92fa48ef53c9 mcabber/doc/help/it/hlp_del.txt
   220 --- a/mcabber/doc/help/it/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   221 --- a/mcabber/doc/help/it/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   221 +++ b/mcabber/doc/help/it/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   222 +++ b/mcabber/doc/help/it/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
   222 @@ -1,4 +1,4 @@
   223 @@ -1,4 +1,4 @@
   223  
   224  
   224 - /DEL
   225 - /DEL
   225 + /DEL [-n|--dryrun] [jid]
   226 + /DEL [-n|--dryrun] [jid]
   226  
   227  
   227  Elimina il contatto corrente dal roster, cancellando la sottoscrizione alle reciproche notifiche della propria presenza.
   228  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 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 --- 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 +++ b/mcabber/doc/help/it/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
   231 @@ -1,5 +1,6 @@
   232 @@ -1,5 +1,6 @@
   232  
   233  
   233 - /MOVE [gruppo]
   234 - /MOVE [gruppo]
   234 + /MOVE [-j|--jid jid] [-n|--name name] [grouppo]
   235 + /MOVE [-j|--jid jid] [-n|--name name] [grouppo]
   235  
   236  
   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  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 +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  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 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 --- 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 +++ b/mcabber/doc/help/it/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   242 @@ -1,4 +1,6 @@
   243 @@ -1,4 +1,6 @@
   243  
   244  
   244 - /RENAME nome
   245 - /RENAME nome
   245 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nome
   246 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nome
   246  
   247  
   248 +Rinomina il contatto od il gruppo correnti usando "nome".
   249 +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 +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.
   251 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   251 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_buffer.txt
   252 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_buffer.txt
   252 --- a/mcabber/doc/help/nl/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   253 --- a/mcabber/doc/help/nl/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   253 +++ b/mcabber/doc/help/nl/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   254 +++ b/mcabber/doc/help/nl/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
   254 @@ -25,7 +25,7 @@
   255 @@ -25,7 +25,7 @@
   255   Scroll de buffer [n] regels omhoog (standaard: een half scherm)
   256   Scroll de buffer [n] regels omhoog (standaard: een half scherm)
   256  /buffer down [n]
   257  /buffer down [n]
   257   Scroll de buffer [n] regels omlaag (standaard: een half scherm)
   258   Scroll de buffer [n] regels omlaag (standaard: een half scherm)
   258 -/buffer date [datum]
   259 -/buffer date [datum]
   260   Spring naar de eerste regel na de aangeduide [datum] in de chat buffer (datum formaat: "YYYY-mm-dd")
   261   Spring naar de eerste regel na de aangeduide [datum] in de chat buffer (datum formaat: "YYYY-mm-dd")
   261  /buffer % n
   262  /buffer % n
   262   Spring naar positie %n in de buddy chat buffer
   263   Spring naar positie %n in de buddy chat buffer
   263 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_del.txt
   264 diff -r 92fa48ef53c9 mcabber/doc/help/nl/hlp_del.txt
   264 --- a/mcabber/doc/help/nl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   265 --- a/mcabber/doc/help/nl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   265 +++ b/mcabber/doc/help/nl/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   266 +++ b/mcabber/doc/help/nl/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
   266 @@ -1,4 +1,4 @@
   267 @@ -1,4 +1,4 @@
   267  
   268  
   268 - /DEL
   269 - /DEL
   269 + /DEL [-n|--dryrun] [jid]
   270 + /DEL [-n|--dryrun] [jid]
   270  
   271  
   271  Verwijder de actieve buddy uit ons roster, en zet het wederzijds toezenden van status veranderingen stop.
   272  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 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 --- 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 +++ b/mcabber/doc/help/nl/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
   275 @@ -1,5 +1,6 @@
   276 @@ -1,5 +1,6 @@
   276  
   277  
   277 - /MOVE [groepsnaam]
   278 - /MOVE [groepsnaam]
   278 + /MOVE [-j|--jid jid] [-n|--name name] [groepsnaam]
   279 + /MOVE [-j|--jid jid] [-n|--name name] [groepsnaam]
   279  
   280  
   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  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 +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  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 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 --- 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 +++ b/mcabber/doc/help/nl/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   286 @@ -1,4 +1,6 @@
   287 @@ -1,4 +1,6 @@
   287  
   288  
   288 - /RENAME naam
   289 - /RENAME naam
   289 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] naam
   290 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] naam
   290  
   291  
   292 +Hernoem de actieve buddy of groep in de aangegeven "naam".
   293 +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 +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.
   295 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   295 diff -r 92fa48ef53c9 mcabber/doc/help/pl/hlp_del.txt
   296 diff -r 92fa48ef53c9 mcabber/doc/help/pl/hlp_del.txt
   296 --- a/mcabber/doc/help/pl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   297 --- a/mcabber/doc/help/pl/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   297 +++ b/mcabber/doc/help/pl/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   298 +++ b/mcabber/doc/help/pl/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
   298 @@ -1,4 +1,4 @@
   299 @@ -1,4 +1,4 @@
   299  
   300  
   300 - /DEL
   301 - /DEL
   301 + /DEL [-n|--dryrun] [jid]
   302 + /DEL [-n|--dryrun] [jid]
   302  
   303  
   303  Usuwa aktualnie zaznaczoną osobę z rostera, usuwa subskrypcję powiadomienia dostępności u danej osoby oraz u nas.
   304  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 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 --- 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 +++ b/mcabber/doc/help/pl/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
   307 @@ -1,5 +1,6 @@
   308 @@ -1,5 +1,6 @@
   308  
   309  
   309 - /MOVE [nazwa grupy]
   310 - /MOVE [nazwa grupy]
   310 + /MOVE [-j|--jid jid] [-n|--name name] [nazwa grupy]
   311 + /MOVE [-j|--jid jid] [-n|--name name] [nazwa grupy]
   311  
   312  
   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  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 +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  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 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 --- 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 +++ b/mcabber/doc/help/pl/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   318 @@ -1,4 +1,6 @@
   319 @@ -1,4 +1,6 @@
   319  
   320  
   320 - /RENAME nazwa
   321 - /RENAME nazwa
   321 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nazwa
   322 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] nazwa
   322  
   323  
   324 +Zmienia nazwę aktualnej osoby lub grupy na "nazwa". 
   325 +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 +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.
   327 +Optionally you can use one of --jid, --group or --name to select object, different from current.
   327 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_buffer.txt
   328 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_buffer.txt
   328 --- a/mcabber/doc/help/ru/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   329 --- a/mcabber/doc/help/ru/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   329 +++ b/mcabber/doc/help/ru/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   330 +++ b/mcabber/doc/help/ru/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
   330 @@ -25,7 +25,7 @@
   331 @@ -25,7 +25,7 @@
   331   Перемещает на [n] строк вверх в буфере (истории переписки) (по умолчанию: половина экрана)
   332   Перемещает на [n] строк вверх в буфере (истории переписки) (по умолчанию: половина экрана)
   332  /buffer down [n]
   333  /buffer down [n]
   333   Перемещает на [n] строк вниз в буфере (истории переписки) (по умолчанию: половина экрана)
   334   Перемещает на [n] строк вниз в буфере (истории переписки) (по умолчанию: половина экрана)
   334 -/buffer date [date]
   335 -/buffer date [date]
   336   Перемещает в первой строке после определенной даты [date] в буфере (истории переписки) (формат даты: "год-месяц-день", для примера "2006-01-01")
   337   Перемещает в первой строке после определенной даты [date] в буфере (истории переписки) (формат даты: "год-месяц-день", для примера "2006-01-01")
   337  /buffer % n
   338  /buffer % n
   338   Перемещает на позицию %n в текущем буфере (истории переписки)
   339   Перемещает на позицию %n в текущем буфере (истории переписки)
   339 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_del.txt
   340 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_del.txt
   340 --- a/mcabber/doc/help/ru/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   341 --- a/mcabber/doc/help/ru/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   341 +++ b/mcabber/doc/help/ru/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   342 +++ b/mcabber/doc/help/ru/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
   342 @@ -1,4 +1,4 @@
   343 @@ -1,4 +1,4 @@
   343  
   344  
   344 - /DEL
   345 - /DEL
   345 + /DEL [-n|--dryrun] [jid]
   346 + /DEL [-n|--dryrun] [jid]
   346  
   347  
   347 -Удаляет текущего пользователя из списка контактов, отключает уведомления о его статусе и отключает уведомления пользователя о вашем статусе.
   348 -Удаляет текущего пользователя из списка контактов, отключает уведомления о его статусе и отключает уведомления пользователя о вашем статусе.
   348 +Удаляет текущего пользователя (или указанного с помощью jid) из списка контактов, отключает уведомления о его статусе и отключает уведомление пользователя о вашем статусе.
   349 +Удаляет текущего пользователя (или указанного с помощью jid) из списка контактов, отключает уведомления о его статусе и отключает уведомление пользователя о вашем статусе.
   349 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_move.txt
   350 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 --- 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 +++ b/mcabber/doc/help/ru/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
   352 @@ -1,6 +1,7 @@
   353 @@ -1,6 +1,7 @@
   353  
   354  
   354 - /MOVE [groupname]
   355 - /MOVE [groupname]
   355 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   356 + /MOVE [-j|--jid jid] [-n|--name name] [groupname]
   356  
   357  
   358 +С помощью параметров --jid и --name можно перемещать контакты, отличные от текущего.
   359 +С помощью параметров --jid и --name можно перемещать контакты, отличные от текущего.
   359  Полезно: Если включен режим чата (chatmode), Вы можете использовать "/roster alternate" для перехода к перемещенному пользователю.
   360  Полезно: Если включен режим чата (chatmode), Вы можете использовать "/roster alternate" для перехода к перемещенному пользователю.
   360  
   361  
   361 diff -r 92fa48ef53c9 mcabber/doc/help/ru/hlp_rename.txt
   362 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 --- 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 +++ b/mcabber/doc/help/ru/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   364 @@ -1,4 +1,6 @@
   365 @@ -1,4 +1,6 @@
   365  
   366  
   366 - /RENAME name
   367 - /RENAME name
   367 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
   368 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group name] [-n|--name name] newname
   368  
   369  
   370 +Переименовывает текущего пользователя или группу в заданное имя "newname".
   371 +Переименовывает текущего пользователя или группу в заданное имя "newname".
   371 +Если указан параметр --reset, "newname" игнорируется, а имя сбрасывается (mcabber будет отображать JID или имя пользователя по умолчанию).
   372 +Если указан параметр --reset, "newname" игнорируется, а имя сбрасывается (mcabber будет отображать JID или имя пользователя по умолчанию).
   372 +Для указания обьекта, отличного от текущего, можно использовать опции --jid, --group и --name.
   373 +Для указания обьекта, отличного от текущего, можно использовать опции --jid, --group и --name.
   373 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_buffer.txt
   374 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_buffer.txt
   374 --- a/mcabber/doc/help/uk/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   375 --- a/mcabber/doc/help/uk/hlp_buffer.txt	Sun Jan 27 00:40:37 2013 +0200
   375 +++ b/mcabber/doc/help/uk/hlp_buffer.txt	Wed Feb 27 03:19:07 2013 +0200
   376 +++ b/mcabber/doc/help/uk/hlp_buffer.txt	Wed Feb 27 23:34:50 2013 +0200
   376 @@ -25,7 +25,7 @@
   377 @@ -25,7 +25,7 @@
   377   Посунути буфер вверх на n рядків (якщо не вказано - пів екрану).
   378   Посунути буфер вверх на n рядків (якщо не вказано - пів екрану).
   378  /buffer down [n]
   379  /buffer down [n]
   379   Посунути буфер вниз на n рядків (якщо не вказано - пів екрану).
   380   Посунути буфер вниз на n рядків (якщо не вказано - пів екрану).
   380 -/buffer date [дата]
   381 -/buffer date [дата]
   382   Перейти до першого повідомлення після дати (дата вигляду РРРР-ММ-ДД).
   383   Перейти до першого повідомлення після дати (дата вигляду РРРР-ММ-ДД).
   383  /buffer % процент
   384  /buffer % процент
   384   Перейти до вказаної у процентах позиції.
   385   Перейти до вказаної у процентах позиції.
   385 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_del.txt
   386 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_del.txt
   386 --- a/mcabber/doc/help/uk/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   387 --- a/mcabber/doc/help/uk/hlp_del.txt	Sun Jan 27 00:40:37 2013 +0200
   387 +++ b/mcabber/doc/help/uk/hlp_del.txt	Wed Feb 27 03:19:07 2013 +0200
   388 +++ b/mcabber/doc/help/uk/hlp_del.txt	Wed Feb 27 23:34:50 2013 +0200
   388 @@ -1,4 +1,4 @@
   389 @@ -1,4 +1,4 @@
   389  
   390  
   390 - /DEL
   391 - /DEL
   391 + /DEL [-n|--dryrun] [jid]
   392 + /DEL [-n|--dryrun] [jid]
   392  
   393  
   393 -Потерти поточний контакт зі списку. На додачу відписатися від його повідомлень про статус і відписати його від ваших.
   394 -Потерти поточний контакт зі списку. На додачу відписатися від його повідомлень про статус і відписати його від ваших.
   394 +Потерти поточний контакт (або контакт, що має вказаний jid) зі списку. Також відписатися від його сповіщень про статус і відписати його від ваших.
   395 +Потерти поточний контакт (або контакт, що має вказаний jid) зі списку. Також відписатися від його сповіщень про статус і відписати його від ваших.
   395 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_move.txt
   396 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 --- 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 +++ b/mcabber/doc/help/uk/hlp_move.txt	Wed Feb 27 23:34:50 2013 +0200
   398 @@ -1,5 +1,6 @@
   399 @@ -1,5 +1,6 @@
   399  
   400  
   400 - /MOVE [група]
   401 - /MOVE [група]
   401 + /MOVE [-j|--jid jid] [-n|--name ім’я] [група]
   402 + /MOVE [-j|--jid jid] [-n|--name ім’я] [група]
   402  
   403  
   404 +Переносить поточний контакт до вказаної групи. Якщо групу не вказати контакт опиниться у головній групі. Якщо групи не існує, її буде створено.
   405 +Переносить поточний контакт до вказаної групи. Якщо групу не вказати контакт опиниться у головній групі. Якщо групи не існує, її буде створено.
   405 +За допомогою опцій --jid та --name можна перемістити контакт, відмінний від поточного.
   406 +За допомогою опцій --jid та --name можна перемістити контакт, відмінний від поточного.
   406  Примітка: в режимі розмови можна використати "/roster alternate", щоб перейти до нового місця контакту контакту.
   407  Примітка: в режимі розмови можна використати "/roster alternate", щоб перейти до нового місця контакту контакту.
   407 diff -r 92fa48ef53c9 mcabber/doc/help/uk/hlp_rename.txt
   408 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 --- 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 +++ b/mcabber/doc/help/uk/hlp_rename.txt	Wed Feb 27 23:34:50 2013 +0200
   410 @@ -1,4 +1,6 @@
   411 @@ -1,4 +1,6 @@
   411  
   412  
   412 - /RENAME ім'я
   413 - /RENAME ім'я
   413 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group ім’я] [-n|--name ім’я] нове ім’я
   414 + /RENAME [-r|--reset] [-j|--jid jid] [-g|--group ім’я] [-n|--name ім’я] нове ім’я
   414  
   415  
   415  Змінює прізвисько поточного контакту або назву групи.
   416  Змінює прізвисько поточного контакту або назву групи.
   416 +За допомогою параметра --reset можна повернути контакту типову назву. При цьому нове ім’я (якщо вказане) ігнорується.
   417 +За допомогою параметра --reset можна повернути контакту типову назву. При цьому нове ім’я (якщо вказане) ігнорується.
   417 +Опції --jid, --group та --name дозволяють перейменовувати об’єкти, відмінні від поточного.
   418 +Опції --jid, --group та --name дозволяють перейменовувати об’єкти, відмінні від поточного.
   418 diff -r 92fa48ef53c9 mcabber/mcabber/commands.c
   419 diff -r 92fa48ef53c9 mcabber/mcabber/commands.c
   419 --- a/mcabber/mcabber/commands.c	Sun Jan 27 00:40:37 2013 +0200
   420 --- a/mcabber/mcabber/commands.c	Sun Jan 27 00:40:37 2013 +0200
   420 +++ b/mcabber/mcabber/commands.c	Wed Feb 27 03:19:07 2013 +0200
   421 +++ b/mcabber/mcabber/commands.c	Wed Feb 27 23:34:50 2013 +0200
   421 @@ -502,7 +502,9 @@
   422 @@ -502,7 +502,9 @@
   422    if (!iscmd && scr_get_multimode() == 2
   423    if (!iscmd && scr_get_multimode() == 2
   423        && (strncasecmp(xpline, mkcmdstr("msay "), strlen(mkcmdstr("msay "))))) {
   424        && (strncasecmp(xpline, mkcmdstr("msay "), strlen(mkcmdstr("msay "))))) {
   424      // It isn't an /msay command
   425      // It isn't an /msay command
   425 -    scr_append_multiline(xpline);
   426 -    scr_append_multiline(xpline);
   551 +  if (options.args[0].value.cmd -> args != NULL) {
   552 +  if (options.args[0].value.cmd -> args != NULL) {
   552 +    arg = options.args[0].value.cmd -> args[0].value.arg;
   553 +    arg = options.args[0].value.cmd -> args[0].value.arg;
   553    }
   554    }
   554  
   555  
   555 -  if (!strcasecmp(subcmd, "top")) {
   556 -  if (!strcasecmp(subcmd, "top")) {
   556 +  if (subcmd == roster_scmd_top) {
   557 +  if (subcmd == roster_scmd_bottom) {
       
   558 +    scr_roster_bottom();
       
   559 +    update_roster = TRUE;
       
   560 +  } else if (subcmd == roster_scmd_top) {
   557      scr_roster_top();
   561      scr_roster_top();
   558      update_roster = TRUE;
   562      update_roster = TRUE;
   559 -  } else if (!strcasecmp(subcmd, "bottom")) {
   563 -  } else if (!strcasecmp(subcmd, "bottom")) {
   560 +  } else if (subcmd == roster_scmd_bottom) {
   564 -    scr_roster_bottom();
   561      scr_roster_bottom();
   565 +  } else if (subcmd == roster_scmd_up) {
       
   566 +    roster_updown(-1, arg);
       
   567 +  } else if (subcmd == roster_scmd_down) {
       
   568 +    roster_updown(1, arg);
       
   569 +  } else if (subcmd == roster_scmd_group_prev) {
       
   570 +    scr_roster_prev_group();
       
   571 +  } else if (subcmd == roster_scmd_group_next) {
       
   572 +    scr_roster_next_group();
       
   573 +  } else if (subcmd == roster_scmd_alternate) {
       
   574 +    scr_roster_jump_alternate();
       
   575 +  } else if (subcmd == roster_scmd_unread_first) {
       
   576 +    scr_roster_unread_message(0);
       
   577 +  } else if (subcmd == roster_scmd_unread_next) {
       
   578 +    scr_roster_unread_message(1);
       
   579 +  } else if (subcmd == roster_scmd_search) {
       
   580 +    scr_roster_search(arg);
   562      update_roster = TRUE;
   581      update_roster = TRUE;
   563 -  } else if (!strcasecmp(subcmd, "hide")) {
   582 -  } else if (!strcasecmp(subcmd, "hide")) {
   564 +  } else if (subcmd == roster_scmd_hide) {
   583 -    scr_roster_visibility(0);
   565      scr_roster_visibility(0);
       
   566 -  } else if (!strcasecmp(subcmd, "show")) {
   584 -  } else if (!strcasecmp(subcmd, "show")) {
   567 +  } else if (subcmd == roster_scmd_show) {
   585 -    scr_roster_visibility(1);
   568      scr_roster_visibility(1);
       
   569 -  } else if (!strcasecmp(subcmd, "toggle")) {
   586 -  } else if (!strcasecmp(subcmd, "toggle")) {
   570 +  } else if (subcmd == roster_scmd_toggle) {
   587 -    scr_roster_visibility(-1);
   571      scr_roster_visibility(-1);
       
   572 -  } else if (!strcasecmp(subcmd, "hide_offline")) {
   588 -  } else if (!strcasecmp(subcmd, "hide_offline")) {
       
   589 +  } else if (subcmd == roster_scmd_display) {
       
   590 +    scr_roster_display(arg);
   573 +  } else if (subcmd == roster_scmd_hide_offline) {
   591 +  } else if (subcmd == roster_scmd_hide_offline) {
   574      buddylist_set_hide_offline_buddies(TRUE);
   592      buddylist_set_hide_offline_buddies(TRUE);
   575      if (current_buddy)
   593 -    if (current_buddy)
       
   594 +    if (current_buddy) // XXX
   576        buddylist_build();
   595        buddylist_build();
   577      update_roster = TRUE;
   596      update_roster = TRUE;
   578 -  } else if (!strcasecmp(subcmd, "show_offline")) {
   597 -  } else if (!strcasecmp(subcmd, "show_offline")) {
   579 +  } else if (subcmd == roster_scmd_show_offline) {
   598 +  } else if (subcmd == roster_scmd_show_offline) {
   580      buddylist_set_hide_offline_buddies(FALSE);
   599      buddylist_set_hide_offline_buddies(FALSE);
   584 +  } else if (subcmd == roster_scmd_toggle_offline) {
   603 +  } else if (subcmd == roster_scmd_toggle_offline) {
   585      buddylist_set_hide_offline_buddies(-1);
   604      buddylist_set_hide_offline_buddies(-1);
   586      buddylist_build();
   605      buddylist_build();
   587      update_roster = TRUE;
   606      update_roster = TRUE;
   588 -  } else if (!strcasecmp(subcmd, "display")) {
   607 -  } else if (!strcasecmp(subcmd, "display")) {
   589 +  } else if (subcmd == roster_scmd_display) {
   608 -    scr_roster_display(arg);
   590      scr_roster_display(arg);
       
   591 -  } else if (!strcasecmp(subcmd, "item_lock")) {
   609 -  } else if (!strcasecmp(subcmd, "item_lock")) {
   592 +  } else if (subcmd == roster_scmd_item_lock) {
   610 +  } else if (subcmd == roster_scmd_item_lock) {
   593      roster_buddylock(arg, 1);
   611      roster_buddylock(arg, 1);
   594 -  } else if (!strcasecmp(subcmd, "item_unlock")) {
   612 -  } else if (!strcasecmp(subcmd, "item_unlock")) {
   595 +  } else if (subcmd == roster_scmd_item_unlock) {
   613 +  } else if (subcmd == roster_scmd_item_unlock) {
   596      roster_buddylock(arg, 0);
   614      roster_buddylock(arg, 0);
   597 -  } else if (!strcasecmp(subcmd, "item_toggle_lock")) {
   615 -  } else if (!strcasecmp(subcmd, "item_toggle_lock")) {
   598 +  } else if (subcmd == roster_scmd_item_toggle_lock) {
   616 +  } else if (subcmd == roster_scmd_item_toggle_lock) {
   599      roster_buddylock(arg, -1);
   617      roster_buddylock(arg, -1);
   600 -  } else if (!strcasecmp(subcmd, "unread_first")) {
   618 -  } else if (!strcasecmp(subcmd, "unread_first")) {
   601 +  } else if (subcmd == roster_scmd_unread_first) {
   619 -    scr_roster_unread_message(0);
   602      scr_roster_unread_message(0);
       
   603 -  } else if (!strcasecmp(subcmd, "unread_next")) {
   620 -  } else if (!strcasecmp(subcmd, "unread_next")) {
   604 +  } else if (subcmd == roster_scmd_unread_next) {
   621 -    scr_roster_unread_message(1);
   605      scr_roster_unread_message(1);
       
   606 -  } else if (!strcasecmp(subcmd, "alternate")) {
   622 -  } else if (!strcasecmp(subcmd, "alternate")) {
   607 +  } else if (subcmd == roster_scmd_alternate) {
   623 -    scr_roster_jump_alternate();
   608      scr_roster_jump_alternate();
       
   609 -  } else if (!strncasecmp(subcmd, "search", 6)) {
   624 -  } else if (!strncasecmp(subcmd, "search", 6)) {
   610 -    strip_arg_special_chars(arg);
   625 -    strip_arg_special_chars(arg);
   611 -    if (!arg || !*arg) {
   626 -    if (!arg || !*arg) {
   612 -      scr_LogPrint(LPRINT_NORMAL, "What name or JID are you looking for?");
   627 -      scr_LogPrint(LPRINT_NORMAL, "What name or JID are you looking for?");
   613 -      free_arg_lst(paramlst);
   628 -      free_arg_lst(paramlst);
   614 -      return;
   629 -      return;
   615 -    }
   630 -    }
   616 +  } else if (subcmd == roster_scmd_search) {
   631 -    scr_roster_search(arg);
   617      scr_roster_search(arg);
   632 -    update_roster = TRUE;
   618      update_roster = TRUE;
       
   619 -  } else if (!strcasecmp(subcmd, "up")) {
   633 -  } else if (!strcasecmp(subcmd, "up")) {
   620 +  } else if (subcmd == roster_scmd_up) {
   634 -    roster_updown(-1, arg);
   621      roster_updown(-1, arg);
       
   622 -  } else if (!strcasecmp(subcmd, "down")) {
   635 -  } else if (!strcasecmp(subcmd, "down")) {
   623 +  } else if (subcmd == roster_scmd_down) {
   636 -    roster_updown(1, arg);
   624      roster_updown(1, arg);
       
   625 -  } else if (!strcasecmp(subcmd, "group_prev")) {
   637 -  } else if (!strcasecmp(subcmd, "group_prev")) {
   626 +  } else if (subcmd == roster_scmd_group_prev) {
   638 -    scr_roster_prev_group();
   627      scr_roster_prev_group();
       
   628 -  } else if (!strcasecmp(subcmd, "group_next")) {
   639 -  } else if (!strcasecmp(subcmd, "group_next")) {
   629 +  } else if (subcmd == roster_scmd_group_next) {
   640 -    scr_roster_next_group();
   630      scr_roster_next_group();
       
   631 -  } else if (!strcasecmp(subcmd, "note")) {
   641 -  } else if (!strcasecmp(subcmd, "note")) {
   632 +  } else if (subcmd == roster_scmd_note) {
   642 +  } else if (subcmd == roster_scmd_note) {
   633      roster_note(arg);
   643      roster_note(arg);
   634 -  } else if (!strcasecmp(subcmd, "resource_lock")) {
   644 -  } else if (!strcasecmp(subcmd, "resource_lock")) {
   635 +  } else if (subcmd == roster_scmd_resource_lock) {
   645 +  } else if (subcmd == roster_scmd_resource_lock) {
   636      roster_resourcelock(arg, TRUE);
   646      roster_resourcelock(arg, TRUE);
   637 -  } else if (!strcasecmp(subcmd, "resource_unlock")) {
   647 -  } else if (!strcasecmp(subcmd, "resource_unlock")) {
   638 +  } else { // roster_scmd_resource_unlock
   648 +  } else if (subcmd == roster_scmd_resource_unlock) {
   639      roster_resourcelock(arg, FALSE);
   649      roster_resourcelock(arg, FALSE);
   640 -  } else
   650 -  } else
   641 -    scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!");
   651 -    scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!");
   642 -  free_arg_lst(paramlst);
   652 -  free_arg_lst(paramlst);
       
   653 +  } else if (subcmd == roster_scmd_hide) {
       
   654 +    scr_roster_visibility(0);
       
   655 +  } else if (subcmd == roster_scmd_show) {
       
   656 +    scr_roster_visibility(1);
       
   657 +  } else { // roster_scmd_toggle
       
   658 +    scr_roster_visibility(-1);
   643 +  }
   659 +  }
   644 +
   660 +
   645 +  cmdopts_free(&options);
   661 +  cmdopts_free(&options);
   646  }
   662  }
   647  
   663  
  1889 +      { "list", NULL, NULL, NULL, (gpointer)buffer_scmd_list, 0 },
  1905 +      { "list", NULL, NULL, NULL, (gpointer)buffer_scmd_list, 0 },
  1890 +      { "top", NULL, NULL, NULL, (gpointer)buffer_scmd_top, 0 },
  1906 +      { "top", NULL, NULL, NULL, (gpointer)buffer_scmd_top, 0 },
  1891 +      { "bottom", NULL, NULL, NULL, (gpointer)buffer_scmd_bottom, 0 },
  1907 +      { "bottom", NULL, NULL, NULL, (gpointer)buffer_scmd_bottom, 0 },
  1892 +      { "up", NULL,
  1908 +      { "up", NULL,
  1893 +        (cmdarg_t[1]){
  1909 +        (cmdarg_t[1]){
  1894 +          { CMDOPT_LAST, { .arg = "1" } }, // lines
  1910 +          { CMDOPT_LAST, { .arg = NULL } }, // lines
  1895 +        },
  1911 +        },
  1896 +        NULL, (gpointer)buffer_scmd_up, 0 },
  1912 +        NULL, (gpointer)buffer_scmd_up, 0 },
  1897 +      { "down", NULL,
  1913 +      { "down", NULL,
  1898 +        (cmdarg_t[1]){
  1914 +        (cmdarg_t[1]){
  1899 +          { CMDOPT_LAST, { .arg = "1" } }, // lines
  1915 +          { CMDOPT_LAST, { .arg = NULL } }, // lines
  1900 +        },
  1916 +        },
  1901 +        NULL, (gpointer)buffer_scmd_down, 0 },
  1917 +        NULL, (gpointer)buffer_scmd_down, 0 },
  1902 +      { "date", NULL,
  1918 +      { "date", NULL,
  1903 +        (cmdarg_t[1]){
  1919 +        (cmdarg_t[1]){
  1904 +          // date
  1920 +          // date
  1957    }
  1973    }
  1958  
  1974  
  1959 -  if (*arg1 && arg2 && *arg2) {     // Two values
  1975 -  if (*arg1 && arg2 && *arg2) {     // Two values
  1960 -    scr_LogPrint(LPRINT_NORMAL, "Wrong parameters.");
  1976 -    scr_LogPrint(LPRINT_NORMAL, "Wrong parameters.");
  1961 -    return;
  1977 -    return;
  1962 +  if (subcmd == buffer_scmd_top) {
  1978 +  if (subcmd == buffer_scmd_close) {
       
  1979 +    scr_buffer_purge(1, options.cmds[0].args[0].value.arg);
       
  1980 +  } else if (subcmd == buffer_scmd_close_all) {
       
  1981 +    scr_buffer_purge_all(1);
       
  1982 +  } else if (subcmd == buffer_scmd_clear) {
       
  1983 +    scr_buffer_clear();
       
  1984 +  } else if (subcmd == buffer_scmd_purge) {
       
  1985 +    scr_buffer_purge(0, options.cmds[3].args[0].value.arg);
       
  1986 +  } else if (subcmd == buffer_scmd_list) {
       
  1987 +    scr_buffer_list();
       
  1988 +  } else if (subcmd == buffer_scmd_top) {
  1963 +    scr_buffer_top_bottom(-1);
  1989 +    scr_buffer_top_bottom(-1);
  1964 +  } else if (subcmd == buffer_scmd_bottom) {
  1990 +  } else if (subcmd == buffer_scmd_bottom) {
  1965 +    scr_buffer_top_bottom(1);
  1991 +    scr_buffer_top_bottom(1);
  1966 +  } else if (subcmd == buffer_scmd_clear) {
  1992 +  } else if (subcmd == buffer_scmd_up) {
  1967 +    scr_buffer_clear();
  1993 +    buffer_updown(-1, options.cmds[7].args[0].value.arg);
  1968 +  } else if (subcmd == buffer_scmd_close) {
  1994 +  } else if (subcmd == buffer_scmd_down) {
  1969 +    scr_buffer_purge(1, options.cmds[0].args[0].value.arg);
  1995 +    buffer_updown(1, options.cmds[8].args[0].value.arg);
  1970 +  } else if (subcmd == buffer_scmd_close_all) {
  1996 +  } else if (subcmd == buffer_scmd_date) {
  1971 +    scr_buffer_purge_all(1);
  1997 +    buffer_date(options.cmds[9].args[0].value.arg);
  1972 +  } else if (subcmd == buffer_scmd_purge) {
  1998 +  } else if (subcmd == buffer_scmd_percent) {
  1973 +    scr_buffer_purge(0, options.cmds[3].args[0].value.arg);
  1999 +    scr_buffer_percent(atoi(options.cmds[10].args[0].value.arg));
       
  2000 +  } else if (subcmd == buffer_scmd_readmark) {
       
  2001 +    scr_buffer_jump_readmark();
       
  2002 +  } else if (subcmd == buffer_scmd_search_backward) {
       
  2003 +    scr_buffer_search(-1, options.cmds[12].args[0].value.arg);
       
  2004 +  } else if (subcmd == buffer_scmd_search_forward) {
       
  2005 +    scr_buffer_search(1, options.cmds[13].args[0].value.arg);
  1974 +  } else if (subcmd == buffer_scmd_scroll_lock) {
  2006 +  } else if (subcmd == buffer_scmd_scroll_lock) {
  1975 +    scr_buffer_scroll_lock(1);
  2007 +    scr_buffer_scroll_lock(1);
  1976 +  } else if (subcmd == buffer_scmd_scroll_unlock) {
  2008 +  } else if (subcmd == buffer_scmd_scroll_unlock) {
  1977 +    scr_buffer_scroll_lock(0);
  2009 +    scr_buffer_scroll_lock(0);
  1978 +  } else if (subcmd == buffer_scmd_scroll_toggle) {
  2010 +  } else if (subcmd == buffer_scmd_scroll_toggle) {
  1979 +    scr_buffer_scroll_lock(-1);
  2011 +    scr_buffer_scroll_lock(-1);
  1980 +  } else if (subcmd == buffer_scmd_up) {
  2012 +  } else { // buffer_scmd_save
  1981 +    buffer_updown(-1, options.cmds[6].args[0].value.arg);
       
  1982 +  } else if (subcmd == buffer_scmd_down) {
       
  1983 +    buffer_updown(1, options.cmds[7].args[0].value.arg);
       
  1984 +  } else if (subcmd == buffer_scmd_search_backward) {
       
  1985 +    scr_buffer_search(-1, options.cmds[11].args[0].value.arg);
       
  1986 +  } else if (subcmd == buffer_scmd_search_forward) {
       
  1987 +    scr_buffer_search(1, options.cmds[12].args[0].value.arg);
       
  1988 +  } else if (subcmd == buffer_scmd_date) {
       
  1989 +    buffer_date(options.cmds[8].args[0].value.arg);
       
  1990 +  } else if (subcmd == buffer_scmd_percent) {
       
  1991 +    scr_buffer_percent(atoi(options.cmds[9].args[0].value.arg));
       
  1992 +  } else if (subcmd == buffer_scmd_save) {
       
  1993 +    scr_buffer_dump(options.cmds[17].args[0].value.arg);
  2013 +    scr_buffer_dump(options.cmds[17].args[0].value.arg);
  1994 +  } else if (subcmd == buffer_scmd_list) {
       
  1995 +    scr_buffer_list();
       
  1996 +  } else { // buffer_scmd_readmark
       
  1997 +    scr_buffer_jump_readmark();
       
  1998    }
  2014    }
  1999  
  2015  
  2000 -  scr_buffer_percent(atoi((*arg1 ? arg1 : arg2)));
  2016 -  scr_buffer_percent(atoi((*arg1 ? arg1 : arg2)));
  2001 -}
  2017 -}
  2002 -
  2018 -
  2158 +      { 0,             'n', "name",  { .opt = NULL } },
  2174 +      { 0,             'n', "name",  { .opt = NULL } },
  2159 +      { 0,             'g', "group", { .opt = NULL } },
  2175 +      { 0,             'g', "group", { .opt = NULL } },
  2160 +      { CMDOPT_LAST,   'j', "jid",   { .opt = "." } },
  2176 +      { CMDOPT_LAST,   'j', "jid",   { .opt = "." } },
  2161 +    },
  2177 +    },
  2162 +    (cmdarg_t[1]){
  2178 +    (cmdarg_t[1]){
  2163 +      { CMDOPT_CATCHALL | CMDOPT_LAST, { .arg = NULL } }, // new name
  2179 +      { CMDOPT_CATCHALL | CMDOPT_LAST, { .arg = "" } }, // new name
  2164 +    },
  2180 +    },
  2165 +    NULL,
  2181 +    NULL,
  2166 +  };
  2182 +  };
  2167    gpointer bud;
  2183    gpointer bud;
  2168    const char *bjid, *group;
  2184    const char *bjid, *group;
  2403 -  g_free(newgroupname);
  2419 -  g_free(newgroupname);
  2404 +  cmdopts_free(&options);
  2420 +  cmdopts_free(&options);
  2405    update_roster = TRUE;
  2421    update_roster = TRUE;
  2406  }
  2422  }
  2407  
  2423  
  2408 @@ -2874,7 +3100,7 @@
  2424 @@ -2468,50 +2694,33 @@
       
  2425  
       
  2426  static void do_rawxml(char *arg)
       
  2427  {
       
  2428 -  char **paramlst;
       
  2429 -  char *subcmd;
       
  2430 +  cmdopts_t options = {
       
  2431 +    "rawxml",
       
  2432 +    NULL,
       
  2433 +    (cmdarg_t[1]){
       
  2434 +      { CMDOPT_REQUIRED | CMDOPT_SUBCOMMAND | CMDOPT_LAST, { .cmd = NULL } },
       
  2435 +    },
       
  2436 +    (cmdopts_t[1]){
       
  2437 +      { "send", NULL,
       
  2438 +        (cmdarg_t[1]){
       
  2439 +          { CMDOPT_REQUIRED | CMDOPT_CATCHALL | CMDOPT_PLAIN | CMDOPT_LAST,
       
  2440 +            { .arg = NULL } },
       
  2441 +        },
       
  2442 +        NULL },
       
  2443 +    },
       
  2444 +  };
       
  2445  
       
  2446    if (!xmpp_is_online()) {
       
  2447      scr_LogPrint(LPRINT_NORMAL, "You are not connected.");
       
  2448      return;
       
  2449    }
       
  2450  
       
  2451 -  paramlst = split_arg(arg, 2, 1); // subcmd, arg
       
  2452 -  subcmd = *paramlst;
       
  2453 -  arg = *(paramlst+1);
       
  2454 -
       
  2455 -  if (!subcmd || !*subcmd) {
       
  2456 -    scr_LogPrint(LPRINT_NORMAL, "Please read the manual page"
       
  2457 -                 " before using /rawxml :-)");
       
  2458 -    free_arg_lst(paramlst);
       
  2459 +  if (cmdopts_parse(arg, &options))
       
  2460      return;
       
  2461 -  }
       
  2462 -
       
  2463 -  if (!strcasecmp(subcmd, "send"))  {
       
  2464 -    gchar *buffer;
       
  2465 -
       
  2466 -    if (!subcmd || !*subcmd) {
       
  2467 -      scr_LogPrint(LPRINT_NORMAL, "Missing parameter.");
       
  2468 -      free_arg_lst(paramlst);
       
  2469 -      return;
       
  2470 -    }
       
  2471 -
       
  2472 -    // We don't strip_arg_special_chars() here, because it would be a pain for
       
  2473 -    // the user to escape quotes in a XML stream...
       
  2474 -
       
  2475 -    buffer = to_utf8(arg);
       
  2476 -    if (buffer) {
       
  2477 -      scr_LogPrint(LPRINT_NORMAL, "Sending XML string");
       
  2478 -      lm_connection_send_raw(lconnection, buffer, NULL);
       
  2479 -      g_free(buffer);
       
  2480 -    } else {
       
  2481 -      scr_LogPrint(LPRINT_NORMAL, "Conversion error in XML string.");
       
  2482 -    }
       
  2483 -  } else {
       
  2484 -    scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!");
       
  2485 -  }
       
  2486 -
       
  2487 -  free_arg_lst(paramlst);
       
  2488 +
       
  2489 +  scr_LogPrint(LPRINT_NORMAL, "Sending XML string");
       
  2490 +  lm_connection_send_raw(lconnection, options.cmds[0].args[0].value.arg, NULL);
       
  2491 +  cmdopts_free(&options);
       
  2492  }
       
  2493  
       
  2494  //  check_room_subcommand(arg, param_needed, buddy_must_be_a_room)
       
  2495 @@ -2874,7 +3083,7 @@
  2409    fjid_utf8 = g_strdup_printf("%s/%s", buddy_getjid(bud), nick_utf8);
  2496    fjid_utf8 = g_strdup_printf("%s/%s", buddy_getjid(bud), nick_utf8);
  2410    g_free (nick_utf8);
  2497    g_free (nick_utf8);
  2411    msg = to_utf8(arg);
  2498    msg = to_utf8(arg);
  2412 -  send_message_to(fjid_utf8, msg, NULL, LM_MESSAGE_SUB_TYPE_NOT_SET, FALSE);
  2499 -  send_message_to(fjid_utf8, msg, NULL, LM_MESSAGE_SUB_TYPE_NOT_SET, FALSE);
  2413 +  send_message_to(fjid_utf8, msg, NULL, msgtype_not_set, FALSE);
  2500 +  send_message_to(fjid_utf8, msg, NULL, msgtype_not_set, FALSE);
  2414    g_free(fjid_utf8);
  2501    g_free(fjid_utf8);
  2415    g_free(msg);
  2502    g_free(msg);
  2416    free_arg_lst(paramlst);
  2503    free_arg_lst(paramlst);
  2417 @@ -3347,7 +3573,7 @@
  2504 @@ -3347,7 +3556,7 @@
  2418        cmd_room_leave(bud, arg);
  2505        cmd_room_leave(bud, arg);
  2419    } else if (!strcasecmp(subcmd, "names"))  {
  2506    } else if (!strcasecmp(subcmd, "names"))  {
  2420      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  2507      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  2421 -      room_names(bud, arg);
  2508 -      room_names(bud, arg);
  2422 +      room_names(bud, room_names_style_normal); // FIXME
  2509 +      room_names(bud, room_names_style_normal); // FIXME
  2423    } else if (!strcasecmp(subcmd, "nick"))  {
  2510    } else if (!strcasecmp(subcmd, "nick"))  {
  2424      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  2511      if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)
  2425        room_nick(bud, arg);
  2512        room_nick(bud, arg);
  2426 diff -r 92fa48ef53c9 mcabber/mcabber/commands.h
  2513 diff -r 92fa48ef53c9 mcabber/mcabber/commands.h
  2427 --- a/mcabber/mcabber/commands.h	Sun Jan 27 00:40:37 2013 +0200
  2514 --- a/mcabber/mcabber/commands.h	Sun Jan 27 00:40:37 2013 +0200
  2428 +++ b/mcabber/mcabber/commands.h	Wed Feb 27 03:19:07 2013 +0200
  2515 +++ b/mcabber/mcabber/commands.h	Wed Feb 27 23:34:50 2013 +0200
  2429 @@ -14,6 +14,12 @@
  2516 @@ -14,6 +14,12 @@
  2430    gpointer userdata;
  2517    gpointer userdata;
  2431  } cmd;
  2518  } cmd;
  2432  
  2519  
  2433 +typedef enum {
  2520 +typedef enum {
  2451  
  2538  
  2452  #endif /* __MCABBER_COMMANDS_H__ */
  2539  #endif /* __MCABBER_COMMANDS_H__ */
  2453  
  2540  
  2454 diff -r 92fa48ef53c9 mcabber/mcabber/roster.c
  2541 diff -r 92fa48ef53c9 mcabber/mcabber/roster.c
  2455 --- a/mcabber/mcabber/roster.c	Sun Jan 27 00:40:37 2013 +0200
  2542 --- a/mcabber/mcabber/roster.c	Sun Jan 27 00:40:37 2013 +0200
  2456 +++ b/mcabber/mcabber/roster.c	Wed Feb 27 03:19:07 2013 +0200
  2543 +++ b/mcabber/mcabber/roster.c	Wed Feb 27 23:34:50 2013 +0200
  2457 @@ -1586,13 +1586,14 @@
  2544 @@ -1586,13 +1586,14 @@
  2458  // Look for a buddy whose name or jid contains string.
  2545  // Look for a buddy whose name or jid contains string.
  2459  // Search begins at current_buddy; if no match is found in the the buddylist,
  2546  // Search begins at current_buddy; if no match is found in the the buddylist,
  2460  // return NULL;
  2547  // return NULL;
  2461 +// Note: before this function considered its argument to be in local encoding,
  2548 +// Note: before this function considered its argument to be in local encoding,
  2492        if (found)
  2579        if (found)
  2493          return buddy;
  2580          return buddy;
  2494      }
  2581      }
  2495 diff -r 92fa48ef53c9 mcabber/mcabber/utils.c
  2582 diff -r 92fa48ef53c9 mcabber/mcabber/utils.c
  2496 --- a/mcabber/mcabber/utils.c	Sun Jan 27 00:40:37 2013 +0200
  2583 --- a/mcabber/mcabber/utils.c	Sun Jan 27 00:40:37 2013 +0200
  2497 +++ b/mcabber/mcabber/utils.c	Wed Feb 27 03:19:07 2013 +0200
  2584 +++ b/mcabber/mcabber/utils.c	Wed Feb 27 23:34:50 2013 +0200
  2498 @@ -555,6 +555,318 @@
  2585 @@ -555,6 +555,318 @@
  2499      *str = tolower(*str);
  2586      *str = tolower(*str);
  2500  }
  2587  }
  2501  
  2588  
  2502 +// in_space        -> in_space, in_optstart, in_argstart
  2589 +// in_space        -> in_space, in_optstart, in_argstart
  2814  //  strip_arg_special_chars(string)
  2901  //  strip_arg_special_chars(string)
  2815  // Remove quotes and backslashes before an escaped quote
  2902  // Remove quotes and backslashes before an escaped quote
  2816  // Only quotes need a backslash
  2903  // Only quotes need a backslash
  2817 diff -r 92fa48ef53c9 mcabber/mcabber/utils.h
  2904 diff -r 92fa48ef53c9 mcabber/mcabber/utils.h
  2818 --- a/mcabber/mcabber/utils.h	Sun Jan 27 00:40:37 2013 +0200
  2905 --- a/mcabber/mcabber/utils.h	Sun Jan 27 00:40:37 2013 +0200
  2819 +++ b/mcabber/mcabber/utils.h	Wed Feb 27 03:19:07 2013 +0200
  2906 +++ b/mcabber/mcabber/utils.h	Wed Feb 27 23:34:50 2013 +0200
  2820 @@ -43,6 +43,97 @@
  2907 @@ -43,6 +43,125 @@
  2821  char **split_arg(const char *arg, unsigned int n, int dontstriplast);
  2908  char **split_arg(const char *arg, unsigned int n, int dontstriplast);
  2822  void free_arg_lst(char **arglst);
  2909  void free_arg_lst(char **arglst);
  2823  
  2910  
  2824 +//  error cmdopts_parse (argstring, optionlist)
  2911 +//  error cmdopts_parse (argstring, optionlist)
  2825 +// Function parses command argument string according to provided list of
  2912 +// Function parses command argument string according to provided list of
  2860 +#define CMDOPT_LAST       ( 1<<4 )
  2947 +#define CMDOPT_LAST       ( 1<<4 )
  2861 +// Argument only, argument is the name for subcommand.
  2948 +// Argument only, argument is the name for subcommand.
  2862 +// Implicitly last argument.
  2949 +// Implicitly last argument.
  2863 +#define CMDOPT_SUBCOMMAND ( 1<<5 )
  2950 +#define CMDOPT_SUBCOMMAND ( 1<<5 )
  2864 +
  2951 +
  2865 +// FURTHER TODO:
  2952 +// TODO:
  2866 +// Allow to specify catchall argument in the middle of string (requires some reverse parser)?
  2953 +// * Options/arguments value should become 'default' field, value field will go
  2867 +// Better error messages (caller frees them)
  2954 +//   later, so that user will not need to initialize it.
  2868 +// --help generates error with short usage, based on info in options struct
  2955 +// * Clustering of options/switches
  2869 +
  2956 +// * --help
  2870 +// thoughts about future:
  2957 +//   * Add argument names for --help.
  2871 +// integration with command structure
  2958 +//   * Argument or command/subcommand descriptions for --help?
  2872 +// cmdopt/cmdarg struct contains argument type, that implies completion id and argument correctness checks
  2959 +//   * Or maybe just do "/help foo"?
  2873 +// cmdopt/cmdarg struct contains default value
  2960 +// * Add argument type field and subsystem to check values. Uses so far:
  2874 +// when building completion for command, we allow options (if not before --)
  2961 +//   - fjid (handle . and ./resource, perform check_jid_syntax())
  2875 +//
  2962 +//   - bjid (handle ., strip resource, perform check_jid_syntax())
       
  2963 +//   - bjid in roster/buddylist (result - buddy?)
       
  2964 +//   - name in roster/buddylist (result - buddy?)
       
  2965 +//   - group in roster (result - buddy?)
       
  2966 +//   - other non-space string (strip trailing/starting spaces)
       
  2967 +//     - statusmask (restrictive)
       
  2968 +//     - jidmask (non-restrictive)
       
  2969 +//     - search string
       
  2970 +//     - rosternote
       
  2971 +//     - color (restrictive, semi-defined list)
       
  2972 +//     - nick (non-restrictive)
       
  2973 +//     - defined lists (restrictive)
       
  2974 +//     - date (restrictive)
       
  2975 +//     - percent (numerical, restrictive)
       
  2976 +//   - number (result - int)
       
  2977 +//   - filename (expand_filename(), g_utf8_to_filename()?)
       
  2978 +//   - custom (maybe some helpers for constant stringlists)
       
  2979 +//   - text message (complete nicks in rooms)
       
  2980 +// * Add non-argument checks for commands/subcommands:
       
  2981 +//   - xmpp_is_online()
       
  2982 +//   - current_buddy
       
  2983 +// * --help generates error with short usage, based on info in options struct.
       
  2984 +// * Subcommands with fallback to argument?
       
  2985 +// * [+foo|-foo] support?
       
  2986 +// * Integrate with commands
       
  2987 +// * Integrate with completion
       
  2988 +// * Usable subsystem for completion, based on user-supplied argument types
       
  2989 +// * Update docs above
       
  2990 +
  2876 +// so, the process of command execution would look like:
  2991 +// so, the process of command execution would look like:
  2877 +// - we walk through the options, set default values
  2992 +// - we walk through the options, set default values
  2878 +// - we parse argument string, populating options  - on this or on next step
  2993 +// - we parse argument string, populating options  - on this or on next step
  2879 +// - we check for required options availability    - we can call generic argument check routine, based on argument type
  2994 +// - we check for required options availability    - we can call generic argument check routine, based on argument type
  2880 +// - we call callback
  2995 +// - we call callback
  2915  void replace_nl_with_dots(char *bufstr);
  3030  void replace_nl_with_dots(char *bufstr);
  2916  char *ut_expand_tabs(const char *text);
  3031  char *ut_expand_tabs(const char *text);
  2917  char *ut_unescape_tabs_cr(const char *text);
  3032  char *ut_unescape_tabs_cr(const char *text);
  2918 diff -r 92fa48ef53c9 mcabber/mcabber/xmpp_iq.c
  3033 diff -r 92fa48ef53c9 mcabber/mcabber/xmpp_iq.c
  2919 --- a/mcabber/mcabber/xmpp_iq.c	Sun Jan 27 00:40:37 2013 +0200
  3034 --- a/mcabber/mcabber/xmpp_iq.c	Sun Jan 27 00:40:37 2013 +0200
  2920 +++ b/mcabber/mcabber/xmpp_iq.c	Wed Feb 27 03:19:07 2013 +0200
  3035 +++ b/mcabber/mcabber/xmpp_iq.c	Wed Feb 27 23:34:50 2013 +0200
  2921 @@ -289,10 +289,7 @@
  3036 @@ -289,10 +289,7 @@
  2922        if (value) {
  3037        if (value) {
  2923          for (s = adhoc_status_list; !s->name || strcmp(s->name, value); s++);
  3038          for (s = adhoc_status_list; !s->name || strcmp(s->name, value); s++);
  2924          if (s->name) {
  3039          if (s->name) {
  2925 -          char *status = g_strdup_printf("%s %s", s->status,
  3040 -          char *status = g_strdup_printf("%s %s", s->status,