diff --git a/doc/de/autogen/irc_options.xml b/doc/de/autogen/irc_options.xml index 4b35c1489..5b20732cc 100644 --- a/doc/de/autogen/irc_options.xml +++ b/doc/de/autogen/irc_options.xml @@ -86,6 +86,22 @@ +irc.look.display_channel_modes + + + description: display channel modes in "buffer_name" bar item + + + type: boolean + + + values: on, off + + + default value: on + + + irc.look.highlight_tags diff --git a/doc/de/autogen/weechat_commands.xml b/doc/de/autogen/weechat_commands.xml index c69d15a06..3a40652af 100644 --- a/doc/de/autogen/weechat_commands.xml +++ b/doc/de/autogen/weechat_commands.xml @@ -54,17 +54,18 @@ Examples: Puffer verwalten - action: action to do: - clear: clear buffer content (-all for all buffers, number for a buffer, or nothing for current buffer) - move: move buffer in the list (may be relative, for example -1) - close: close buffer - list: list buffers (no parameter implies this list) - notify: display notify levels for all open buffers - scroll: scroll in history (may be relative, and may end by a letter: s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll to beginning of this item + action: action to do: + clear: clear buffer content (-all for all buffers, number for a buffer, or nothing for current buffer) + move: move buffer in the list (may be relative, for example -1) + close: close buffer + list: list buffers (no parameter implies this list) + notify: display notify levels for all open buffers +localvar: display local variables for current buffer + scroll: scroll in history (may be relative, and may end by a letter: s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll to beginning of this item - number: jump to buffer by number + number: jump to buffer by number server, -channel: jump to buffer by server and/or channel name + channel: jump to buffer by server and/or channel name Examples: clear current buffer: /buffer clear diff --git a/doc/de/autogen/weechat_options.xml b/doc/de/autogen/weechat_options.xml index fc295e76f..5394f1155 100644 --- a/doc/de/autogen/weechat_options.xml +++ b/doc/de/autogen/weechat_options.xml @@ -1462,22 +1462,6 @@ -weechat.look.input_format - - - description: Format der Eingabezeile ('%c' wird durch den Channel- oder Servernamen ersetzt, '%n' durch den Nicknamen und '%m' durch die Nick-Modi) - - - type: string - - - values: any string - - - default value: '[%n(%m)] ' - - - weechat.look.item_time_format diff --git a/doc/en/autogen/irc_options.xml b/doc/en/autogen/irc_options.xml index 2199cf1e1..ca2ca4c09 100644 --- a/doc/en/autogen/irc_options.xml +++ b/doc/en/autogen/irc_options.xml @@ -86,6 +86,22 @@ +irc.look.display_channel_modes + + + description: display channel modes in "buffer_name" bar item + + + type: boolean + + + values: on, off + + + default value: on + + + irc.look.highlight_tags diff --git a/doc/en/autogen/weechat_commands.xml b/doc/en/autogen/weechat_commands.xml index 63f17c4c9..ad6d1f7d6 100644 --- a/doc/en/autogen/weechat_commands.xml +++ b/doc/en/autogen/weechat_commands.xml @@ -54,17 +54,18 @@ Examples: manage buffers - action: action to do: - clear: clear buffer content (-all for all buffers, number for a buffer, or nothing for current buffer) - move: move buffer in the list (may be relative, for example -1) - close: close buffer - list: list buffers (no parameter implies this list) - notify: display notify levels for all open buffers - scroll: scroll in history (may be relative, and may end by a letter: s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll to beginning of this item + action: action to do: + clear: clear buffer content (-all for all buffers, number for a buffer, or nothing for current buffer) + move: move buffer in the list (may be relative, for example -1) + close: close buffer + list: list buffers (no parameter implies this list) + notify: display notify levels for all open buffers +localvar: display local variables for current buffer + scroll: scroll in history (may be relative, and may end by a letter: s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll to beginning of this item - number: jump to buffer by number + number: jump to buffer by number server, -channel: jump to buffer by server and/or channel name + channel: jump to buffer by server and/or channel name Examples: clear current buffer: /buffer clear diff --git a/doc/en/autogen/weechat_options.xml b/doc/en/autogen/weechat_options.xml index eff963f69..1e5017806 100644 --- a/doc/en/autogen/weechat_options.xml +++ b/doc/en/autogen/weechat_options.xml @@ -1462,22 +1462,6 @@ -weechat.look.input_format - - - description: format for input prompt ('%c' is replaced by channel or server, '%n' by nick and '%m' by nick modes) - - - type: string - - - values: any string - - - default value: '[%n(%m)] ' - - - weechat.look.item_time_format diff --git a/doc/fr/autogen/irc_options.xml b/doc/fr/autogen/irc_options.xml index 2dca1d342..9c554f923 100644 --- a/doc/fr/autogen/irc_options.xml +++ b/doc/fr/autogen/irc_options.xml @@ -86,6 +86,22 @@ +irc.look.display_channel_modes + + + description: affiche les modes du canal dans l'objet de barre "buffer_name" + + + type: booléen + + + valeurs: on, off + + + valeur par défaut: on + + + irc.look.highlight_tags diff --git a/doc/fr/autogen/weechat_commands.xml b/doc/fr/autogen/weechat_commands.xml index 07d71a706..af1787508 100644 --- a/doc/fr/autogen/weechat_commands.xml +++ b/doc/fr/autogen/weechat_commands.xml @@ -54,17 +54,18 @@ Exemples : gestion des tampons - action: action à effectuer: - clear: efface le contenu du tampon (-all pour tous les tampons, un numéro pour un tampon, ou rien pour le tampon courant) - move: déplace le tampon dans la liste (peut être relatif, par exemple -1) - close: ferme le tampon - list: liste les tampons ouverts (pas de paramètre affiche cette liste) - notify: affiche les niveaux de notification pour tous les tampons ouverts - scroll: fait défiler l'historique (peut être relatif, et peut se terminer par une lettre: s=sec, m=min, h=heure, d=jour, M=mois, y=année); s'il y a seulement une lettre, alors fait défiler jusqu'au début de cet élément + action: action à effectuer: + clear: efface le contenu du tampon (-all pour tous les tampons, un numéro pour un tampon, ou rien pour le tampon courant) + move: déplace le tampon dans la liste (peut être relatif, par exemple -1) + close: ferme le tampon + list: liste les tampons ouverts (pas de paramètre affiche cette liste) + notify: affiche les niveaux de notification pour tous les tampons ouverts +localvar: affiche la liste des variables locales pour le tampon courant + scroll: fait défiler l'historique (peut être relatif, et peut se terminer par une lettre: s=sec, m=min, h=heure, d=jour, M=mois, y=année); s'il y a seulement une lettre, alors fait défiler jusqu'au début de cet élément - nombre: saute au tampon qui a ce numéro + nombre: saute au tampon qui a ce numéro serveur, - canal: saute au tampon par serveur et/ou nom de canal + canal: saute au tampon par serveur et/ou nom de canal Exemples: déplacer tampon: /buffer move 5 diff --git a/doc/fr/autogen/weechat_options.xml b/doc/fr/autogen/weechat_options.xml index cb9dd062d..733091ce5 100644 --- a/doc/fr/autogen/weechat_options.xml +++ b/doc/fr/autogen/weechat_options.xml @@ -1462,22 +1462,6 @@ -weechat.look.input_format - - - description: format pour l'invite de la zone de saisie ('%c' est remplacé par le canal ou serveur, '%n' par le pseudo et '%m' par les modes du pseudo) - - - type: chaîne - - - valeurs: toute chaîne - - - valeur par défaut: '[%n(%m)] ' - - - weechat.look.item_time_format diff --git a/po/cs.po b/po/cs.po index 8f4a45d46..7f0c42c3d 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2008-10-23 18:35+0200\n" +"POT-Creation-Date: 2008-10-24 12:58+0200\n" "PO-Revision-Date: 2008-09-17 16:19+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -214,6 +214,14 @@ msgstr "%sChyba: hlavní buffer WeeChat nemůže být zavřen" msgid "Notify levels:" msgstr "Level upozornění:" +#, fuzzy, c-format +msgid "Local variables for buffer \"%s\":" +msgstr "časová známka pro buffer" + +#, c-format +msgid "No local variable defined for buffer \"%s\"" +msgstr "" + #, fuzzy, c-format msgid "%sPlugin \"%s\" not found" msgstr "%s adresa \"%s\" nenalezena\n" @@ -718,20 +726,21 @@ msgstr "[akce [args] | číslo | [[server] [kanál]]]" #, fuzzy msgid "" -" action: action to do:\n" -" clear: clear buffer content (-all for all buffers, number for a buffer, or " -"nothing for current buffer)\n" -" move: move buffer in the list (may be relative, for example -1)\n" -" close: close buffer\n" -" list: list buffers (no parameter implies this list)\n" -" notify: display notify levels for all open buffers\n" -" scroll: scroll in history (may be relative, and may end by a letter: s=sec, " -"m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll " -"to beginning of this item\n" +" action: action to do:\n" +" clear: clear buffer content (-all for all buffers, number for a buffer, " +"or nothing for current buffer)\n" +" move: move buffer in the list (may be relative, for example -1)\n" +" close: close buffer\n" +" list: list buffers (no parameter implies this list)\n" +" notify: display notify levels for all open buffers\n" +"localvar: display local variables for current buffer\n" +" scroll: scroll in history (may be relative, and may end by a letter: " +"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then " +"scroll to beginning of this item\n" "\n" -" number: jump to buffer by number\n" +" number: jump to buffer by number\n" "server,\n" -"channel: jump to buffer by server and/or channel name\n" +" channel: jump to buffer by server and/or channel name\n" "\n" "Examples:\n" "clear current buffer: /buffer clear\n" diff --git a/po/de.po b/po/de.po index 624be0cef..176deaca5 100644 --- a/po/de.po +++ b/po/de.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2008-10-23 18:35+0200\n" +"POT-Creation-Date: 2008-10-24 12:58+0200\n" "PO-Revision-Date: 2007-09-06 12:44+0200\n" "Last-Translator: Thomas Schuetz \n" "Language-Team: weechat-dev \n" @@ -219,6 +219,14 @@ msgstr "" msgid "Notify levels:" msgstr "Notify-Ebenen:" +#, fuzzy, c-format +msgid "Local variables for buffer \"%s\":" +msgstr "Timestamp für Puffer" + +#, c-format +msgid "No local variable defined for buffer \"%s\"" +msgstr "" + #, fuzzy, c-format msgid "%sPlugin \"%s\" not found" msgstr "%s Adresse \"%s\" nicht gefunden\n" @@ -724,20 +732,21 @@ msgstr "[Aktion [Argumente] | Nummer | [[Server] [Channel]]]" #, fuzzy msgid "" -" action: action to do:\n" -" clear: clear buffer content (-all for all buffers, number for a buffer, or " -"nothing for current buffer)\n" -" move: move buffer in the list (may be relative, for example -1)\n" -" close: close buffer\n" -" list: list buffers (no parameter implies this list)\n" -" notify: display notify levels for all open buffers\n" -" scroll: scroll in history (may be relative, and may end by a letter: s=sec, " -"m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll " -"to beginning of this item\n" +" action: action to do:\n" +" clear: clear buffer content (-all for all buffers, number for a buffer, " +"or nothing for current buffer)\n" +" move: move buffer in the list (may be relative, for example -1)\n" +" close: close buffer\n" +" list: list buffers (no parameter implies this list)\n" +" notify: display notify levels for all open buffers\n" +"localvar: display local variables for current buffer\n" +" scroll: scroll in history (may be relative, and may end by a letter: " +"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then " +"scroll to beginning of this item\n" "\n" -" number: jump to buffer by number\n" +" number: jump to buffer by number\n" "server,\n" -"channel: jump to buffer by server and/or channel name\n" +" channel: jump to buffer by server and/or channel name\n" "\n" "Examples:\n" "clear current buffer: /buffer clear\n" diff --git a/po/es.po b/po/es.po index a001ff3ae..64be63753 100644 --- a/po/es.po +++ b/po/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2008-10-23 18:35+0200\n" +"POT-Creation-Date: 2008-10-24 12:58+0200\n" "PO-Revision-Date: 2007-09-19 12:09+0200\n" "Last-Translator: Roberto González Cardenete \n" "Language-Team: weechat-dev \n" @@ -215,6 +215,14 @@ msgstr "" msgid "Notify levels:" msgstr "Niveles de notificación:" +#, fuzzy, c-format +msgid "Local variables for buffer \"%s\":" +msgstr "fecha y hora para las búfers" + +#, c-format +msgid "No local variable defined for buffer \"%s\"" +msgstr "" + #, fuzzy, c-format msgid "%sPlugin \"%s\" not found" msgstr "%s dirección \"%s\" no encontrada\n" @@ -720,20 +728,21 @@ msgstr "[acción [argumentos] | número | [[servidor] [canal]]]" #, fuzzy msgid "" -" action: action to do:\n" -" clear: clear buffer content (-all for all buffers, number for a buffer, or " -"nothing for current buffer)\n" -" move: move buffer in the list (may be relative, for example -1)\n" -" close: close buffer\n" -" list: list buffers (no parameter implies this list)\n" -" notify: display notify levels for all open buffers\n" -" scroll: scroll in history (may be relative, and may end by a letter: s=sec, " -"m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll " -"to beginning of this item\n" +" action: action to do:\n" +" clear: clear buffer content (-all for all buffers, number for a buffer, " +"or nothing for current buffer)\n" +" move: move buffer in the list (may be relative, for example -1)\n" +" close: close buffer\n" +" list: list buffers (no parameter implies this list)\n" +" notify: display notify levels for all open buffers\n" +"localvar: display local variables for current buffer\n" +" scroll: scroll in history (may be relative, and may end by a letter: " +"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then " +"scroll to beginning of this item\n" "\n" -" number: jump to buffer by number\n" +" number: jump to buffer by number\n" "server,\n" -"channel: jump to buffer by server and/or channel name\n" +" channel: jump to buffer by server and/or channel name\n" "\n" "Examples:\n" "clear current buffer: /buffer clear\n" diff --git a/po/fr.po b/po/fr.po index fab5e67fa..0af94f1d4 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2008-10-23 18:35+0200\n" +"POT-Creation-Date: 2008-10-24 12:58+0200\n" "PO-Revision-Date: 2008-10-23 18:38+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" @@ -209,6 +209,14 @@ msgstr "%sErreur: le tampon principal de WeeChat ne peut pas être fermé" msgid "Notify levels:" msgstr "Niveaux de notification:" +#, c-format +msgid "Local variables for buffer \"%s\":" +msgstr "Variables locales pour le tampon \"%s\" :" + +#, c-format +msgid "No local variable defined for buffer \"%s\"" +msgstr "Pas de variable locale définie pour le tampon \"%s\"" + #, c-format msgid "%sPlugin \"%s\" not found" msgstr "%sExtension \"%s\" non trouvée" @@ -718,20 +726,21 @@ msgid "[action [args] | number | [[server] [channel]]]" msgstr "[action [args] | nombre | [[serveur] [canal]]]" msgid "" -" action: action to do:\n" -" clear: clear buffer content (-all for all buffers, number for a buffer, or " -"nothing for current buffer)\n" -" move: move buffer in the list (may be relative, for example -1)\n" -" close: close buffer\n" -" list: list buffers (no parameter implies this list)\n" -" notify: display notify levels for all open buffers\n" -" scroll: scroll in history (may be relative, and may end by a letter: s=sec, " -"m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll " -"to beginning of this item\n" +" action: action to do:\n" +" clear: clear buffer content (-all for all buffers, number for a buffer, " +"or nothing for current buffer)\n" +" move: move buffer in the list (may be relative, for example -1)\n" +" close: close buffer\n" +" list: list buffers (no parameter implies this list)\n" +" notify: display notify levels for all open buffers\n" +"localvar: display local variables for current buffer\n" +" scroll: scroll in history (may be relative, and may end by a letter: " +"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then " +"scroll to beginning of this item\n" "\n" -" number: jump to buffer by number\n" +" number: jump to buffer by number\n" "server,\n" -"channel: jump to buffer by server and/or channel name\n" +" channel: jump to buffer by server and/or channel name\n" "\n" "Examples:\n" "clear current buffer: /buffer clear\n" @@ -746,21 +755,22 @@ msgid "" " scroll 20 msgs up: /buffer scroll -20\n" " jump to #weechat: /buffer #weechat" msgstr "" -" action: action à effectuer:\n" -" clear: efface le contenu du tampon (-all pour tous les tampons, un numéro " +" action: action à effectuer:\n" +" clear: efface le contenu du tampon (-all pour tous les tampons, un numéro " "pour un tampon, ou rien pour le tampon courant)\n" -" move: déplace le tampon dans la liste (peut être relatif, par exemple -" +" move: déplace le tampon dans la liste (peut être relatif, par exemple -" "1)\n" -" close: ferme le tampon\n" -" list: liste les tampons ouverts (pas de paramètre affiche cette liste)\n" -" notify: affiche les niveaux de notification pour tous les tampons ouverts\n" -" scroll: fait défiler l'historique (peut être relatif, et peut se terminer " +" close: ferme le tampon\n" +" list: liste les tampons ouverts (pas de paramètre affiche cette liste)\n" +" notify: affiche les niveaux de notification pour tous les tampons ouverts\n" +"localvar: affiche la liste des variables locales pour le tampon courant\n" +" scroll: fait défiler l'historique (peut être relatif, et peut se terminer " "par une lettre: s=sec, m=min, h=heure, d=jour, M=mois, y=année); s'il y a " "seulement une lettre, alors fait défiler jusqu'au début de cet élément\n" "\n" -" nombre: saute au tampon qui a ce numéro\n" +" nombre: saute au tampon qui a ce numéro\n" "serveur,\n" -" canal: saute au tampon par serveur et/ou nom de canal\n" +" canal: saute au tampon par serveur et/ou nom de canal\n" "\n" "Exemples:\n" " déplacer tampon: /buffer move 5\n" diff --git a/po/hu.po b/po/hu.po index 24840ac3a..08c97cb00 100644 --- a/po/hu.po +++ b/po/hu.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2008-10-23 18:35+0200\n" +"POT-Creation-Date: 2008-10-24 12:58+0200\n" "PO-Revision-Date: 2007-10-10 18:07+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -220,6 +220,14 @@ msgstr "" msgid "Notify levels:" msgstr "Értesítési szintek:" +#, fuzzy, c-format +msgid "Local variables for buffer \"%s\":" +msgstr "a pufferek időbélyege" + +#, c-format +msgid "No local variable defined for buffer \"%s\"" +msgstr "" + #, fuzzy, c-format msgid "%sPlugin \"%s\" not found" msgstr "%s cím \"%s\" nem található\n" @@ -724,20 +732,21 @@ msgstr "[utasítás[argumentumok] | szám | [[szerver] [szoba]]]" #, fuzzy msgid "" -" action: action to do:\n" -" clear: clear buffer content (-all for all buffers, number for a buffer, or " -"nothing for current buffer)\n" -" move: move buffer in the list (may be relative, for example -1)\n" -" close: close buffer\n" -" list: list buffers (no parameter implies this list)\n" -" notify: display notify levels for all open buffers\n" -" scroll: scroll in history (may be relative, and may end by a letter: s=sec, " -"m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll " -"to beginning of this item\n" +" action: action to do:\n" +" clear: clear buffer content (-all for all buffers, number for a buffer, " +"or nothing for current buffer)\n" +" move: move buffer in the list (may be relative, for example -1)\n" +" close: close buffer\n" +" list: list buffers (no parameter implies this list)\n" +" notify: display notify levels for all open buffers\n" +"localvar: display local variables for current buffer\n" +" scroll: scroll in history (may be relative, and may end by a letter: " +"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then " +"scroll to beginning of this item\n" "\n" -" number: jump to buffer by number\n" +" number: jump to buffer by number\n" "server,\n" -"channel: jump to buffer by server and/or channel name\n" +" channel: jump to buffer by server and/or channel name\n" "\n" "Examples:\n" "clear current buffer: /buffer clear\n" diff --git a/po/ru.po b/po/ru.po index b53f43d7e..2c9479e16 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2008-10-23 18:35+0200\n" +"POT-Creation-Date: 2008-10-24 12:58+0200\n" "PO-Revision-Date: 2007-09-06 12:44+0200\n" "Last-Translator: Pavel Shevchuk \n" "Language-Team: weechat-dev \n" @@ -216,6 +216,14 @@ msgstr "" msgid "Notify levels:" msgstr "Уровни уведомления:" +#, fuzzy, c-format +msgid "Local variables for buffer \"%s\":" +msgstr "время в буферах" + +#, c-format +msgid "No local variable defined for buffer \"%s\"" +msgstr "" + #, fuzzy, c-format msgid "%sPlugin \"%s\" not found" msgstr "%s адрес \"%s\" не найден\n" @@ -718,20 +726,21 @@ msgstr "[действие [аргументы] | номер | [[сервер] [ #, fuzzy msgid "" -" action: action to do:\n" -" clear: clear buffer content (-all for all buffers, number for a buffer, or " -"nothing for current buffer)\n" -" move: move buffer in the list (may be relative, for example -1)\n" -" close: close buffer\n" -" list: list buffers (no parameter implies this list)\n" -" notify: display notify levels for all open buffers\n" -" scroll: scroll in history (may be relative, and may end by a letter: s=sec, " -"m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll " -"to beginning of this item\n" +" action: action to do:\n" +" clear: clear buffer content (-all for all buffers, number for a buffer, " +"or nothing for current buffer)\n" +" move: move buffer in the list (may be relative, for example -1)\n" +" close: close buffer\n" +" list: list buffers (no parameter implies this list)\n" +" notify: display notify levels for all open buffers\n" +"localvar: display local variables for current buffer\n" +" scroll: scroll in history (may be relative, and may end by a letter: " +"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then " +"scroll to beginning of this item\n" "\n" -" number: jump to buffer by number\n" +" number: jump to buffer by number\n" "server,\n" -"channel: jump to buffer by server and/or channel name\n" +" channel: jump to buffer by server and/or channel name\n" "\n" "Examples:\n" "clear current buffer: /buffer clear\n" diff --git a/po/weechat.pot b/po/weechat.pot index d088a7c62..8444b7c9e 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2008-10-23 18:35+0200\n" +"POT-Creation-Date: 2008-10-24 12:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -190,6 +190,14 @@ msgstr "" msgid "Notify levels:" msgstr "" +#, c-format +msgid "Local variables for buffer \"%s\":" +msgstr "" + +#, c-format +msgid "No local variable defined for buffer \"%s\"" +msgstr "" + #, c-format msgid "%sPlugin \"%s\" not found" msgstr "" @@ -636,20 +644,21 @@ msgid "[action [args] | number | [[server] [channel]]]" msgstr "" msgid "" -" action: action to do:\n" -" clear: clear buffer content (-all for all buffers, number for a buffer, or " -"nothing for current buffer)\n" -" move: move buffer in the list (may be relative, for example -1)\n" -" close: close buffer\n" -" list: list buffers (no parameter implies this list)\n" -" notify: display notify levels for all open buffers\n" -" scroll: scroll in history (may be relative, and may end by a letter: s=sec, " -"m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll " -"to beginning of this item\n" +" action: action to do:\n" +" clear: clear buffer content (-all for all buffers, number for a buffer, " +"or nothing for current buffer)\n" +" move: move buffer in the list (may be relative, for example -1)\n" +" close: close buffer\n" +" list: list buffers (no parameter implies this list)\n" +" notify: display notify levels for all open buffers\n" +"localvar: display local variables for current buffer\n" +" scroll: scroll in history (may be relative, and may end by a letter: " +"s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then " +"scroll to beginning of this item\n" "\n" -" number: jump to buffer by number\n" +" number: jump to buffer by number\n" "server,\n" -"channel: jump to buffer by server and/or channel name\n" +" channel: jump to buffer by server and/or channel name\n" "\n" "Examples:\n" "clear current buffer: /buffer clear\n" diff --git a/src/core/wee-command.c b/src/core/wee-command.c index a36fdacf5..914cb9717 100644 --- a/src/core/wee-command.c +++ b/src/core/wee-command.c @@ -478,6 +478,7 @@ command_buffer (void *data, struct t_gui_buffer *buffer, int argc, char **argv, char **argv_eol) { struct t_gui_buffer *ptr_buffer; + struct t_gui_buffer_local_var *ptr_local_var; long number; char *error, *value; int i, target_buffer; @@ -594,7 +595,7 @@ command_buffer (void *data, struct t_gui_buffer *buffer, return WEECHAT_RC_OK; } - /* display/change buffer notify */ + /* display buffer notify */ if (string_strcasecmp (argv[1], "notify") == 0) { /* display notify level for all buffers */ @@ -615,6 +616,31 @@ command_buffer (void *data, struct t_gui_buffer *buffer, return WEECHAT_RC_OK; } + /* display local variables on buffer */ + if (string_strcasecmp (argv[1], "localvar") == 0) + { + if (buffer->local_variables) + { + gui_chat_printf (NULL, ""); + gui_chat_printf (NULL, _("Local variables for buffer \"%s\":"), + buffer->name); + for (ptr_local_var = buffer->local_variables; ptr_local_var; + ptr_local_var = ptr_local_var->next_var) + { + gui_chat_printf (NULL, + " %s: \"%s\"", + ptr_local_var->name, + ptr_local_var->value); + } + } + else + { + gui_chat_printf (NULL, _("No local variable defined for buffer \"%s\""), + buffer->name); + } + return WEECHAT_RC_OK; + } + /* set a property on buffer */ if (string_strcasecmp (argv[1], "set") == 0) { @@ -634,7 +660,7 @@ command_buffer (void *data, struct t_gui_buffer *buffer, return WEECHAT_RC_OK; } - + /* relative jump '-' */ if (argv[1][0] == '-') { @@ -2931,21 +2957,22 @@ command_init () hook_command (NULL, "buffer", N_("manage buffers"), N_("[action [args] | number | [[server] [channel]]]"), - N_(" action: action to do:\n" - " clear: clear buffer content (-all for all buffers, " + N_(" action: action to do:\n" + " clear: clear buffer content (-all for all buffers, " "number for a buffer, or nothing for current buffer)\n" - " move: move buffer in the list (may be relative, for " + " move: move buffer in the list (may be relative, for " "example -1)\n" - " close: close buffer\n" - " list: list buffers (no parameter implies this list)\n" - " notify: display notify levels for all open buffers\n" - " scroll: scroll in history (may be relative, and may " + " close: close buffer\n" + " list: list buffers (no parameter implies this list)\n" + " notify: display notify levels for all open buffers\n" + "localvar: display local variables for current buffer\n" + " scroll: scroll in history (may be relative, and may " "end by a letter: s=sec, m=min, h=hour, d=day, M=month, " "y=year); if there is only letter, then scroll to " "beginning of this item\n\n" - " number: jump to buffer by number\n" + " number: jump to buffer by number\n" "server,\n" - "channel: jump to buffer by server and/or channel name\n\n" + " channel: jump to buffer by server and/or channel name\n\n" "Examples:\n" "clear current buffer: /buffer clear\n" " clear all buffers: /buffer clear -all\n" @@ -2958,7 +2985,7 @@ command_init () " scroll 15 min down: /buffer scroll +15m\n" " scroll 20 msgs up: /buffer scroll -20\n" " jump to #weechat: /buffer #weechat"), - "clear|move|close|list|notify|scroll|set|%b %b", + "clear|move|close|list|notify|localvar|scroll|set|%b %b", &command_buffer, NULL); hook_command (NULL, "command", N_("launch explicit WeeChat or plugin command"), diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c index 1d779764f..25776bef7 100644 --- a/src/gui/gui-buffer.c +++ b/src/gui/gui-buffer.c @@ -242,6 +242,10 @@ gui_buffer_new (struct t_weechat_plugin *plugin, new_buffer->keys = NULL; new_buffer->last_key = NULL; + /* local variables */ + new_buffer->local_variables = NULL; + new_buffer->last_local_var = NULL; + /* add buffer to buffers list */ gui_buffer_insert (new_buffer); @@ -295,6 +299,195 @@ gui_buffer_valid (struct t_gui_buffer *buffer) return 0; } +/* + * gui_buffer_local_var_search: search a local variable with name + */ + +struct t_gui_buffer_local_var * +gui_buffer_local_var_search (struct t_gui_buffer *buffer, const char *name) +{ + struct t_gui_buffer_local_var *ptr_local_var; + + if (!buffer || !name) + return NULL; + + for (ptr_local_var = buffer->local_variables; ptr_local_var; + ptr_local_var = ptr_local_var->next_var) + { + if (strcmp (ptr_local_var->name, name) == 0) + return ptr_local_var; + } + + /* local variable not found */ + return NULL; +} + + +/* + * gui_buffer_local_var_add: add a new local variable to a buffer + */ + +struct t_gui_buffer_local_var * +gui_buffer_local_var_add (struct t_gui_buffer *buffer, const char *name, + const char *value) +{ + struct t_gui_buffer_local_var *new_local_var; + + if (!buffer || !name || !value) + return NULL; + + new_local_var = gui_buffer_local_var_search (buffer, name); + if (new_local_var) + { + if (new_local_var->name) + free (new_local_var->name); + if (new_local_var->value) + free (new_local_var->value); + new_local_var->name = strdup (name); + new_local_var->value = strdup (value); + } + else + { + new_local_var = malloc (sizeof (*new_local_var)); + if (new_local_var) + { + new_local_var->name = strdup (name); + new_local_var->value = strdup (value); + + new_local_var->prev_var = buffer->last_local_var; + new_local_var->next_var = NULL; + if (buffer->local_variables) + buffer->last_local_var->next_var = new_local_var; + else + buffer->local_variables = new_local_var; + buffer->last_local_var = new_local_var; + } + } + + return new_local_var; +} + +/* + * gui_buffer_local_var_remove: remove a local variable in a buffer + */ + +void +gui_buffer_local_var_remove (struct t_gui_buffer *buffer, + struct t_gui_buffer_local_var *local_var) +{ + if (!buffer || !local_var) + return; + + /* free data */ + if (local_var->name) + free (local_var->name); + if (local_var->value) + free (local_var->value); + + /* remove local variable from list */ + if (local_var->prev_var) + (local_var->prev_var)->next_var = local_var->next_var; + if (local_var->next_var) + (local_var->next_var)->prev_var = local_var->prev_var; + if (buffer->local_variables == local_var) + buffer->local_variables = local_var->next_var; + if (buffer->last_local_var == local_var) + buffer->last_local_var = local_var->prev_var; +} + +/* + * gui_buffer_local_var_remove_all: remove all local variables in a buffer + */ + +void +gui_buffer_local_var_remove_all (struct t_gui_buffer *buffer) +{ + if (buffer) + { + while (buffer->local_variables) + { + gui_buffer_local_var_remove (buffer, buffer->local_variables); + } + } +} + +/* + * gui_buffer_string_replace_local_var: replace local variables ($var) in a + * string, using value of local variables + */ + +char * +gui_buffer_string_replace_local_var (struct t_gui_buffer *buffer, + const char *string) +{ + int length, length_var, index_string, index_result; + char *result, *local_var; + const char *pos_end_name; + struct t_gui_buffer_local_var *ptr_local_var; + + length = strlen (string) + 1; + result = malloc (length); + if (result) + { + index_string = 0; + index_result = 0; + while (string[index_string]) + { + if ((string[index_string] == '$') + && ((index_string == 0) || (string[index_string - 1] != '\\'))) + { + pos_end_name = string + index_string + 1; + while (pos_end_name[0]) + { + if (isalnum (pos_end_name[0]) + && (pos_end_name[0] != '_') + && (pos_end_name[0] != '$')) + pos_end_name++; + else + break; + } + if (pos_end_name > string + index_string + 1) + { + local_var = string_strndup (string + index_string + 1, + pos_end_name - (string + index_string + 1)); + if (local_var) + { + ptr_local_var = gui_buffer_local_var_search (buffer, + local_var); + if (ptr_local_var) + { + length_var = strlen (ptr_local_var->value); + length += length_var; + result = realloc (result, length); + if (!result) + { + free (local_var); + return NULL; + } + strcpy (result + index_result, ptr_local_var->value); + index_result += length_var; + index_string += strlen (local_var) + 1; + } + else + result[index_result++] = string[index_string++]; + + free (local_var); + } + else + result[index_result++] = string[index_string++]; + } + else + result[index_result++] = string[index_string++]; + } + else + result[index_result++] = string[index_string++]; + } + result[index_result] = '\0'; + } + + return result; +} + /* * gui_buffer_set_plugin_for_upgrade: set plugin pointer for buffers with a * given name (used after /upgrade) @@ -346,6 +539,8 @@ gui_buffer_get_integer (struct t_gui_buffer *buffer, const char *property) char * gui_buffer_get_string (struct t_gui_buffer *buffer, const char *property) { + struct t_gui_buffer_local_var *ptr_local_var; + if (buffer && property) { if (string_strcasecmp (property, "plugin") == 0) @@ -356,6 +551,12 @@ gui_buffer_get_string (struct t_gui_buffer *buffer, const char *property) return buffer->short_name; else if (string_strcasecmp (property, "title") == 0) return buffer->title; + else if (string_strncasecmp (property, "localvar_", 9) == 0) + { + ptr_local_var = gui_buffer_local_var_search (buffer, property + 9); + if (ptr_local_var) + return ptr_local_var->value; + } } return NULL; @@ -575,6 +776,7 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property, { long number; char *error; + struct t_gui_buffer_local_var *ptr_local_var; if (!property || !value) return; @@ -686,6 +888,17 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property, gui_input_text_changed_signal (); gui_buffer_ask_input_refresh (buffer, 1); } + else if (string_strncasecmp (property, "localvar_set_", 13) == 0) + { + if (value) + gui_buffer_local_var_add (buffer, property + 13, value); + } + else if (string_strncasecmp (property, "localvar_del_", 13) == 0) + { + ptr_local_var = gui_buffer_local_var_search (buffer, property + 13); + if (ptr_local_var) + gui_buffer_local_var_remove (buffer, ptr_local_var); + } } /* @@ -1021,6 +1234,7 @@ gui_buffer_close (struct t_gui_buffer *buffer, int switch_to_another) if (buffer->highlight_tags_array) string_free_exploded (buffer->highlight_tags_array); gui_keyboard_free_all (&buffer->keys, &buffer->last_key); + gui_buffer_local_var_remove_all (buffer); /* remove buffer from buffers list */ if (buffer->prev_buffer) @@ -1220,8 +1434,9 @@ gui_buffer_add_to_infolist (struct t_infolist *infolist, { struct t_infolist_item *ptr_item; struct t_gui_key *ptr_key; - char option_name[32]; - int i; + struct t_gui_buffer_local_var *ptr_local_var; + char option_name[32], *var_name; + int i, length; if (!infolist || !buffer) return 0; @@ -1278,6 +1493,23 @@ gui_buffer_add_to_infolist (struct t_infolist *infolist, if (!infolist_new_var_string (ptr_item, option_name, ptr_key->command)) return 0; } + for (ptr_local_var = buffer->local_variables; ptr_local_var; + ptr_local_var = ptr_local_var->next_var) + { + length = strlen (ptr_local_var->name) + 16 + 1; + var_name = malloc (length); + if (var_name) + { + snprintf (var_name, length, "localvar_%s", ptr_local_var->name); + if (!infolist_new_var_string (ptr_item, var_name, + ptr_local_var->value)) + { + free (var_name); + return 0; + } + free (var_name); + } + } return 1; } @@ -1420,6 +1652,7 @@ void gui_buffer_print_log () { struct t_gui_buffer *ptr_buffer; + struct t_gui_buffer_local_var *ptr_local_var; struct t_gui_line *ptr_line; char *tags; int num; @@ -1481,11 +1714,7 @@ gui_buffer_print_log () log_printf (" last_key . . . . . . . : 0x%x", ptr_buffer->last_key); log_printf (" prev_buffer. . . . . . : 0x%x", ptr_buffer->prev_buffer); log_printf (" next_buffer. . . . . . : 0x%x", ptr_buffer->next_buffer); - - log_printf (""); - log_printf (" => nicklist_root (addr:0x%x):", ptr_buffer->nicklist_root); - gui_nicklist_print_log (ptr_buffer->nicklist_root, 0); - + if (ptr_buffer->keys) { log_printf (""); @@ -1493,6 +1722,26 @@ gui_buffer_print_log () ptr_buffer->keys, ptr_buffer->last_key); gui_keyboard_print_log (ptr_buffer); } + + if (ptr_buffer->local_variables) + { + log_printf (""); + log_printf (" => local_variables = 0x%x, last_local_var = 0x%x:", + ptr_buffer->local_variables, ptr_buffer->last_local_var); + for (ptr_local_var = ptr_buffer->local_variables; ptr_local_var; + ptr_local_var = ptr_local_var->next_var) + { + log_printf (""); + log_printf (" [local variable (addr:0x%x)]", + ptr_local_var); + log_printf (" name . . . . . . . : '%s'", ptr_local_var->name); + log_printf (" value. . . . . . . : '%s'", ptr_local_var->value); + } + } + + log_printf (""); + log_printf (" => nicklist_root (addr:0x%x):", ptr_buffer->nicklist_root); + gui_nicklist_print_log (ptr_buffer->nicklist_root, 0); log_printf (""); log_printf (" => last 100 lines:"); diff --git a/src/gui/gui-buffer.h b/src/gui/gui-buffer.h index 9e9b0bfe4..050f463e6 100644 --- a/src/gui/gui-buffer.h +++ b/src/gui/gui-buffer.h @@ -66,6 +66,14 @@ struct t_gui_line struct t_gui_line *next_line; /* link to next line */ }; +struct t_gui_buffer_local_var +{ + char *name; /* variable name */ + char *value; /* value */ + struct t_gui_buffer_local_var *prev_var; /* link to previous variable */ + struct t_gui_buffer_local_var *next_var; /* link to next variable */ +}; + struct t_gui_buffer { struct t_weechat_plugin *plugin; /* plugin which created this buffer */ @@ -154,6 +162,10 @@ struct t_gui_buffer struct t_gui_key *keys; /* keys specific to buffer */ struct t_gui_key *last_key; /* last key for buffer */ + /* local variables */ + struct t_gui_buffer_local_var *local_variables; /* local variables */ + struct t_gui_buffer_local_var *last_local_var; /* last local variable */ + /* link to previous/next buffer */ struct t_gui_buffer *prev_buffer; /* link to previous buffer */ struct t_gui_buffer *next_buffer; /* link to next buffer */ @@ -178,6 +190,8 @@ extern struct t_gui_buffer *gui_buffer_new (struct t_weechat_plugin *plugin, struct t_gui_buffer *buffer), void *close_callback_data); extern int gui_buffer_valid (struct t_gui_buffer *buffer); +extern char *gui_buffer_string_replace_local_var (struct t_gui_buffer *buffer, + const char *string); extern void gui_buffer_set_plugin_for_upgrade (char *name, struct t_weechat_plugin *plugin); extern int gui_buffer_get_integer (struct t_gui_buffer *buffer, diff --git a/src/plugins/alias/alias.c b/src/plugins/alias/alias.c index 1c1a80c56..3fbf012e0 100644 --- a/src/plugins/alias/alias.c +++ b/src/plugins/alias/alias.c @@ -212,6 +212,23 @@ alias_replace_args (const char *alias_args, const char *user_args) return res; } +/* + * alias_run_command: replace local buffer variables in string, then run + * command on buffer + */ + +void +alias_run_command (struct t_gui_buffer *buffer, const char *command) +{ + char *string; + + string = weechat_buffer_string_replace_local_var (buffer, command); + weechat_command (buffer, + (string) ? string : command); + if (string) + free (string); +} + /* * alias_cb: callback for alias (called when user uses an alias) */ @@ -226,7 +243,6 @@ alias_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, int some_args_replaced, length1, length2; /* make C compiler happy */ - (void) buffer; (void) argc; (void) argv; @@ -260,7 +276,7 @@ alias_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, { some_args_replaced = 1; if (*ptr_cmd[0] == '/') - weechat_command (weechat_current_buffer, args_replaced); + alias_run_command (buffer, args_replaced); else { alias_command = malloc (1 + strlen(args_replaced) + 1); @@ -268,7 +284,7 @@ alias_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, { strcpy (alias_command, "/"); strcat (alias_command, args_replaced); - weechat_command (weechat_current_buffer, alias_command); + alias_run_command (buffer, alias_command); free (alias_command); } } @@ -295,16 +311,14 @@ alias_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, strcat (alias_command, " "); strcat (alias_command, argv_eol[1]); - weechat_command (weechat_current_buffer, - alias_command); + alias_run_command (buffer, alias_command); free (alias_command); } } else { if (*ptr_cmd[0] == '/') - (void) weechat_command(weechat_current_buffer, - *ptr_cmd); + alias_run_command (buffer, *ptr_cmd); else { alias_command = malloc (1 + strlen (*ptr_cmd) + 1); @@ -312,8 +326,7 @@ alias_cb (void *data, struct t_gui_buffer *buffer, int argc, char **argv, { strcpy (alias_command, "/"); strcat (alias_command, *ptr_cmd); - weechat_command (weechat_current_buffer, - alias_command); + alias_run_command (buffer, alias_command); free (alias_command); } } @@ -706,6 +719,7 @@ alias_command_cb (void *data, struct t_gui_buffer *buffer, int argc, { char *alias_name; struct t_alias *ptr_alias; + struct t_config_option *ptr_option; /* make C compiler happy */ (void) data; @@ -728,6 +742,11 @@ alias_command_cb (void *data, struct t_gui_buffer *buffer, int argc, } /* create config option */ + ptr_option = weechat_config_search_option (alias_config_file, + alias_config_section_cmd, + alias_name); + if (ptr_option) + weechat_config_option_free (ptr_option); weechat_config_new_option ( alias_config_file, alias_config_section_cmd, alias_name, "string", NULL, diff --git a/src/plugins/irc/irc-channel.c b/src/plugins/irc/irc-channel.c index 2c015ed57..0d2debba5 100644 --- a/src/plugins/irc/irc-channel.c +++ b/src/plugins/irc/irc-channel.c @@ -97,6 +97,9 @@ irc_channel_new (struct t_irc_server *server, int channel_type, } weechat_buffer_set (new_buffer, "short_name", channel_name); + weechat_buffer_set (new_buffer, "localvar_set_nick", server->nick); + weechat_buffer_set (new_buffer, "localvar_set_server", server->name); + weechat_buffer_set (new_buffer, "localvar_set_channel", channel_name); weechat_hook_signal_send ("logger_backlog", WEECHAT_HOOK_SIGNAL_POINTER, new_buffer); diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c index c962ba206..a8892592f 100644 --- a/src/plugins/irc/irc-command.c +++ b/src/plugins/irc/irc-command.c @@ -3138,6 +3138,8 @@ irc_command_server (void *data, struct t_gui_buffer *buffer, int argc, } weechat_buffer_set (irc_current_server->buffer, "short_name", irc_current_server->name); + weechat_buffer_set (irc_current_server->buffer, "localvar_set_server", + irc_current_server->name); weechat_bar_item_update ("buffer_name"); weechat_bar_item_update ("input_prompt"); return WEECHAT_RC_OK; diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index 998856a5e..4f9ea7916 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -300,12 +300,22 @@ irc_server_set_with_option (struct t_irc_server *server, void irc_server_set_nick (struct t_irc_server *server, const char *nick) { + struct t_irc_channel *ptr_channel; + if (server->nick) free (server->nick); server->nick = (nick) ? strdup (nick) : NULL; weechat_buffer_set (server->buffer, "highlight_words", nick); + /* set local variable "nick" for server and all channels/pv */ + weechat_buffer_set (server->buffer, "localvar_set_nick", nick); + for (ptr_channel = server->channels; ptr_channel; + ptr_channel = ptr_channel->next_channel) + { + weechat_buffer_set (ptr_channel->buffer, "localvar_set_nick", nick); + } + weechat_bar_item_update ("input_prompt"); } @@ -2180,6 +2190,7 @@ irc_server_connect (struct t_irc_server *server, int disable_autojoin) } weechat_buffer_set (server->buffer, "short_name", server->name); + weechat_buffer_set (server->buffer, "localvar_set_server", server->name); weechat_buffer_set (server->buffer, "display", "1"); diff --git a/src/plugins/plugin.c b/src/plugins/plugin.c index 0afd2192d..81ef8375c 100644 --- a/src/plugins/plugin.c +++ b/src/plugins/plugin.c @@ -415,6 +415,7 @@ plugin_load (const char *filename) new_plugin->buffer_get_pointer = &gui_buffer_get_pointer; new_plugin->buffer_set = &gui_buffer_set; new_plugin->buffer_set_pointer = &gui_buffer_set_pointer; + new_plugin->buffer_string_replace_local_var = &gui_buffer_string_replace_local_var; new_plugin->window_get_integer = &gui_window_get_integer; new_plugin->window_get_string = &gui_window_get_string; diff --git a/src/plugins/weechat-plugin.h b/src/plugins/weechat-plugin.h index 4536acf2d..f39e04216 100644 --- a/src/plugins/weechat-plugin.h +++ b/src/plugins/weechat-plugin.h @@ -423,6 +423,8 @@ struct t_weechat_plugin const char *value); void (*buffer_set_pointer) (struct t_gui_buffer *buffer, const char *property, void *pointer); + char *(*buffer_string_replace_local_var) (struct t_gui_buffer *buffer, + const char *string); /* windows */ int (*window_get_integer) (struct t_gui_window *window, @@ -912,6 +914,8 @@ extern int weechat_plugin_end (struct t_weechat_plugin *plugin); weechat_plugin->buffer_set(__buffer, __property, __value) #define weechat_buffer_set_pointer(__buffer, __property, __pointer) \ weechat_plugin->buffer_set_pointer(__buffer, __property, __pointer) +#define weechat_buffer_string_replace_local_var(__buffer, __string) \ + weechat_plugin->buffer_string_replace_local_var(__buffer, __string) /* windows */ #define weechat_window_get_integer(__window, __property) \