summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.adoc4
-rw-r--r--doc/de/autogen/plugin_api/completions.adoc2
-rw-r--r--doc/de/autogen/user/weechat_commands.adoc131
-rw-r--r--doc/en/autogen/plugin_api/completions.adoc2
-rw-r--r--doc/en/autogen/user/weechat_commands.adoc17
-rw-r--r--doc/en/weechat_plugin_api.en.adoc68
-rw-r--r--doc/fr/autogen/plugin_api/completions.adoc2
-rw-r--r--doc/fr/autogen/user/weechat_commands.adoc17
-rw-r--r--doc/fr/weechat_plugin_api.fr.adoc69
-rw-r--r--doc/it/autogen/plugin_api/completions.adoc2
-rw-r--r--doc/it/autogen/user/weechat_commands.adoc17
-rw-r--r--doc/it/weechat_plugin_api.it.adoc69
-rw-r--r--doc/ja/autogen/plugin_api/completions.adoc2
-rw-r--r--doc/ja/autogen/user/weechat_commands.adoc17
-rw-r--r--doc/ja/weechat_plugin_api.ja.adoc68
-rw-r--r--doc/pl/autogen/plugin_api/completions.adoc2
-rw-r--r--doc/pl/autogen/user/weechat_commands.adoc17
-rw-r--r--po/cs.po28
-rw-r--r--po/de.po29
-rw-r--r--po/es.po26
-rw-r--r--po/fr.po47
-rw-r--r--po/hu.po28
-rw-r--r--po/it.po29
-rw-r--r--po/ja.po29
-rw-r--r--po/pl.po29
-rw-r--r--po/pt.po29
-rw-r--r--po/pt_BR.po26
-rw-r--r--po/ru.po28
-rw-r--r--po/tr.po26
-rw-r--r--po/weechat.pot21
-rw-r--r--src/core/wee-command.c17
-rw-r--r--src/core/wee-completion.c24
-rw-r--r--src/core/wee-eval.c59
-rw-r--r--src/plugins/irc/irc-command.c3
-rw-r--r--src/plugins/plugin-api.c28
-rw-r--r--tests/unit/core/test-core-eval.cpp14
36 files changed, 628 insertions, 398 deletions
diff --git a/ChangeLog.adoc b/ChangeLog.adoc
index 3d9e38de1..c4ef38542 100644
--- a/ChangeLog.adoc
+++ b/ChangeLog.adoc
@@ -22,7 +22,10 @@ New features::
* core: add length of string (number of chars and on screen) in evaluation of expressions with "length:xxx" and "lengthscr:xxx"
* core: add calculation of expression in evaluation of expressions with "calc:xxx" (issue #997)
+ * core: add optional default path (evaluated) in completion "filename"
+ * core: add support of modifiers in evaluation of expressions with "modifier:name,data,string"
* api: add modifier "color_encode_ansi" (issue #528)
+ * api: add modifier "eval_path_home"
* irc: add "user" in output of irc_message_parse (issue #136)
* irc: add options irc.color.message_kick and irc.color.reason_kick (issue #683, issue #684)
* logger: add option logger.file.color_lines (issue #528, issue #621)
@@ -35,6 +38,7 @@ Bug fixes::
* core: fixed segfault during excessive evaluation in function string_repeat (issue #1400)
* buflist: fix extra spaces between buffers when conditions are used to hide buffers (regression introduced in version 2.6) (issue #1403)
* irc: remove option irc.network.channel_encode, add server option "charset_message" to control which part of the IRC message is decoded/encoded to the target charset (issue #832)
+ * irc: use path from option xfer.file.upload_path to complete filename in command "/dcc send" (issue #60)
* xfer: fix memory leak when a xfer is freed and when the plugin is unloaded
Tests::
diff --git a/doc/de/autogen/plugin_api/completions.adoc b/doc/de/autogen/plugin_api/completions.adoc
index 7e982a15e..d6b3e4d41 100644
--- a/doc/de/autogen/plugin_api/completions.adoc
+++ b/doc/de/autogen/plugin_api/completions.adoc
@@ -142,7 +142,7 @@
| weechat | env_vars | Umgebungsvariablen
-| weechat | filename | Dateinamen
+| weechat | filename | filename; optional argument: default path (evaluated, see /help eval)
| weechat | filters_names | Liste der Filter
diff --git a/doc/de/autogen/user/weechat_commands.adoc b/doc/de/autogen/user/weechat_commands.adoc
index a2f0ac861..c1cda652e 100644
--- a/doc/de/autogen/user/weechat_commands.adoc
+++ b/doc/de/autogen/user/weechat_commands.adoc
@@ -266,67 +266,68 @@ infolists: zeigt Information über die Infolists an
/eval [-n|-s] <expression>
[-n] -c <expression1> <operator> <expression2>
- -n: gibt das Ergebnis aus, ohne das dieses in den Buffer gesendet wird (debug Modus)
- -s: teilt Ausdrücke bevor sie evaluiert werden (mehrere Befehle können durch Semikolon getrennt werden)
- -c: Auswertung als Bedingung: nutzt Operatoren und runde Klammern, Rückgabewert als Boolean-Wert ("0" oder "1")
-expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${variable} werden ersetzt (siehe unten); mehrere Befehle werden durch ein Semikolon voneinander getrennt
- operator: ein logischer oder vergleichender Operand:
- - logische Operanden:
- && boolean "und"
- || boolean "oder"
- - vergleichende Operanden:
- == gleich
- != ungleich
- <= kleiner oder gleich
- < kleiner
- >= größer oder gleich
- > größer
- =~ stimmt mit regulärem POSIX Ausdruck überein
- !~ stimmt NICHT mit regulärem POSIX Ausdruck überein
- =* stimmt mit Maske überein (Platzhalter "*" ist erlaubt)
- !* stimmt mit Maske NICHT überein (Platzhalter "*" ist erlaubt)
-
-Ein Ausdruck gilt als "wahr" sofern das Ergebnis weder NULL, nicht leer und von "0" abweichend ist.
-Für einen Vergleich werden Fließkommazahlen genutzt sofern es sich bei beiden Ausdrücken um gültige Nummer handelt, folgende Formate werden unterstützt:
- - Integer (Beispiele: 5, -7)
- - Fließkommazahl (Beispiele: 5.2, -7.5, 2.83e-2)
- - hexadezimale Zahl (Beispiele: 0xA3, -0xA3)
-Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrücke in Anführungszeichen gesetzt werden, zum Beispiel:
+ -n: display result without sending it to buffer (debug mode)
+ -s: split expression before evaluating it (many commands can be separated by semicolons)
+ -c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
+expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
+ operator: a logical or comparison operator:
+ - logical operators:
+ && boolean "and"
+ || boolean "or"
+ - comparison operators:
+ == equal
+ != not equal
+ <= less or equal
+ < less
+ >= greater or equal
+ > greater
+ =~ is matching POSIX extended regex
+ !~ is NOT matching POSIX extended regex
+ =* is matching mask (wildcard "*" is allowed)
+ !* is NOT matching mask (wildcard "*" is allowed)
+
+An expression is considered as "true" if it is not NULL, not empty, and different from "0".
+The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats:
+ - integer (examples: 5, -7)
+ - floating point number (examples: 5.2, -7.5, 2.83e-2)
+ - hexadecimal number (examples: 0xA3, -0xA3)
+To force a string comparison, you can add double quotes around each expression, for example:
50 > 100 ==> 0
"50" > "100" ==> 1
-Einige Variablen werden im Ausdruck, mittels der Formatierung ${variable}, ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
- 1. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
- 2. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
- 3. Zeichen welche in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
- 4. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:+Max,Suffix,Zeichenkette")
- oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette")
- 5. Ende einer Zeichenkette nutzen (Format: "rev:xxx")
- 6. Wiederholung einer Zeichenkette (Format: "repeat:Anzahl,Zeichenkette")
- 7. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
- 8. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
- 9. eine Info (Format: "info:Name,Argumente", Argumente sind optional)
- 10. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
- 11. eine Umgebungsvariable (Format: "env:XXX")
- 12. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
- 13. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
- 14. eine Option (Format: "file.section.option")
- 15. der Name einer lokalen Variablen eines Buffer
- 16. ein hdata Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
-Das Format für hdata kann wie folgt aufgebaut sein:
- hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
- hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
- ${buffer[gui_buffers].full_name}: der vollständige Name des ersten Buffers, in der verknüpften Liste aller Buffer
- ${plugin[weechat_plugins].name}: Name der ersten Erweiterung, in der verknüpften Liste aller Erweiterungen
- hdata[pointer].var1.var2...: startet hdata mittels einem Pointer, zum Beispiel:
- ${buffer[0x1234abcd].full_name}: vollständiger Name eines Buffers und des dazugehörigen Pointers (kann in triggern benutzt werden)
-Die vorhandenen Namen für hdata und Variablen sind in der "Anleitung für API Erweiterung", Bereich "weechat_hdata_get". beschrieben
-
-Beispiele (einfache Zeichenketten):
+Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
+ 1. an evaluated sub-string (format: "eval:xxx")
+ 2. a string with escaped chars (format: "esc:xxx" or "\xxx")
+ 3. a string with chars to hide (format: "hide:char,string")
+ 4. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
+ or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
+ 5. a reversed string (format: "rev:xxx")
+ 6. a repeated string (format: "repeat:count,string")
+ 7. length of a string (format: "length:xxx" or "lengthscr:xxx")
+ 8. a color (format: "color:xxx", see "Plugin API reference", function "color")
+ 9. a modifier (format: "modifier:name,data,string")
+ 10. an info (format: "info:name,arguments", arguments are optional)
+ 11. current date/time (format: "date" or "date:format")
+ 12. an environment variable (format: "env:XXX")
+ 13. a ternary operator (format: "if:condition?value_if_true:value_if_false")
+ 14. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
+ 15. an option (format: "file.section.option")
+ 16. a local variable in buffer
+ 17. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
+Format for hdata can be one of following:
+ hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
+ hdata[list].var1.var2...: start with a hdata using a list, for example:
+ ${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
+ ${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
+ hdata[pointer].var1.var2...: start with a hdata using a pointer, for example:
+ ${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
+For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
+
+Examples (simple strings):
/eval -n ${info:version} ==> 0.4.3
/eval -n ${env:HOME} ==> /home/user
/eval -n ${weechat.look.scroll_amount} ==> 3
- /eval -n ${sec.data.freenode_password} ==> geheim
+ /eval -n ${sec.data.freenode_password} ==> secret
/eval -n ${window} ==> 0x2549aa0
/eval -n ${window.buffer} ==> 0x2549320
/eval -n ${window.buffer.full_name} ==> core.weechat
@@ -342,16 +343,16 @@ Beispiele (einfache Zeichenketten):
/eval -n ${length:test} ==> 4
/eval -n ${calc:(5+2)*3} ==> 21
-Beispiele (Bedingungen):
- /eval -n -c ${window.buffer.number} > 2 ==> 0
- /eval -n -c ${window.win_width} > 100 ==> 1
- /eval -n -c (8 > 12) || (5 > 2) ==> 1
- /eval -n -c (8 > 12) && (5 > 2) ==> 0
- /eval -n -c abcd =~ ^ABC ==> 1
- /eval -n -c abcd =~ (?-i)^ABC ==> 0
- /eval -n -c abcd =~ (?-i)^abc ==> 1
- /eval -n -c abcd !~ abc ==> 0
- /eval -n -c abcd =* a*d ==> 1
+Examples (conditions):
+ /eval -n -c ${window.buffer.number} > 2 ==> 0
+ /eval -n -c ${window.win_width} > 100 ==> 1
+ /eval -n -c (8 > 12) || (5 > 2) ==> 1
+ /eval -n -c (8 > 12) && (5 > 2) ==> 0
+ /eval -n -c abcd =~ ^ABC ==> 1
+ /eval -n -c abcd =~ (?-i)^ABC ==> 0
+ /eval -n -c abcd =~ (?-i)^abc ==> 1
+ /eval -n -c abcd !~ abc ==> 0
+ /eval -n -c abcd =* a*d ==> 1
----
[[command_weechat_filter]]
diff --git a/doc/en/autogen/plugin_api/completions.adoc b/doc/en/autogen/plugin_api/completions.adoc
index 536a714a0..dc92e9306 100644
--- a/doc/en/autogen/plugin_api/completions.adoc
+++ b/doc/en/autogen/plugin_api/completions.adoc
@@ -142,7 +142,7 @@
| weechat | env_vars | environment variables
-| weechat | filename | filename
+| weechat | filename | filename; optional argument: default path (evaluated, see /help eval)
| weechat | filters_names | names of filters
diff --git a/doc/en/autogen/user/weechat_commands.adoc b/doc/en/autogen/user/weechat_commands.adoc
index a84d1b074..757f4bae5 100644
--- a/doc/en/autogen/user/weechat_commands.adoc
+++ b/doc/en/autogen/user/weechat_commands.adoc
@@ -305,14 +305,15 @@ Some variables are replaced in expression, using the format ${variable}, variabl
6. a repeated string (format: "repeat:count,string")
7. length of a string (format: "length:xxx" or "lengthscr:xxx")
8. a color (format: "color:xxx", see "Plugin API reference", function "color")
- 9. an info (format: "info:name,arguments", arguments are optional)
- 10. current date/time (format: "date" or "date:format")
- 11. an environment variable (format: "env:XXX")
- 12. a ternary operator (format: "if:condition?value_if_true:value_if_false")
- 13. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
- 14. an option (format: "file.section.option")
- 15. a local variable in buffer
- 16. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
+ 9. a modifier (format: "modifier:name,data,string")
+ 10. an info (format: "info:name,arguments", arguments are optional)
+ 11. current date/time (format: "date" or "date:format")
+ 12. an environment variable (format: "env:XXX")
+ 13. a ternary operator (format: "if:condition?value_if_true:value_if_false")
+ 14. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
+ 15. an option (format: "file.section.option")
+ 16. a local variable in buffer
+ 17. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list, for example:
diff --git a/doc/en/weechat_plugin_api.en.adoc b/doc/en/weechat_plugin_api.en.adoc
index 679638b3e..622058f23 100644
--- a/doc/en/weechat_plugin_api.en.adoc
+++ b/doc/en/weechat_plugin_api.en.adoc
@@ -2190,7 +2190,7 @@ Arguments:
** _extra_: default behavior is to just replace extra variables (_extra_vars_),
other behavior can be selected:
*** _eval_: extra variables (_extra_vars_) are evaluated themselves before
- replacing (_WeeChat ≥ 1.6_)
+ replacing _(WeeChat ≥ 1.6)_
** _regex_: a regex used to replace text in _expr_ (which is then not
evaluated)
** _regex_replace_: the replacement text to use with _regex_, to replace
@@ -2314,7 +2314,7 @@ from first used to last):
`+1+`
| `+=*+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Is matching mask where "*" is allowed (see function <<_string_match,string_match>>) |
`+abc def =* a*f+` +
`+abc def =* y*z+` |
@@ -2322,7 +2322,7 @@ from first used to last):
`+0+`
| `+!*+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Is NOT wildcard mask where "*" is allowed (see function <<_string_match,string_match>>) |
`+abc def !* a*f+` +
`+abc def !* y*z+` |
@@ -2392,8 +2392,8 @@ The comparison is made using floating point numbers if the two expressions are
valid numbers, with one of the following formats:
* integer (examples: 5, -7)
-* floating point number (examples: 5.2, -7.5, 2.83e-2) (_WeeChat ≥ 2.0_)
-* hexadecimal number (examples: 0xA3, -0xA3) (_WeeChat ≥ 2.0_)
+* floating point number (examples: 5.2, -7.5, 2.83e-2) _(WeeChat ≥ 2.0)_
+* hexadecimal number (examples: 0xA3, -0xA3) _(WeeChat ≥ 2.0)_
To force a string comparison, you can add double quotes around each expression,
for example:
@@ -2417,7 +2417,7 @@ expanded to last):
`+value+`
| `+${eval:xxx}+` +
- (_WeeChat ≥ 1.3_) |
+ _(WeeChat ≥ 1.3)_ |
String to evaluate. |
`+${eval:${date:${weechat.look.buffer_time_format}}}+` |
`+19:02:45+` (with colors if there are color codes in the option
@@ -2425,7 +2425,7 @@ expanded to last):
| `+${esc:xxx}+` +
`+${\xxx}+` +
- (_WeeChat ≥ 1.0_) |
+ _(WeeChat ≥ 1.0)_ |
String with escaped chars. |
`+${esc:prefix\tmessage}+` +
`+${\ua9}+` |
@@ -2433,14 +2433,14 @@ expanded to last):
`+©+`
| `+${hide:x,string}+` +
- (_WeeChat ≥ 1.1_) |
+ _(WeeChat ≥ 1.1)_ |
String with hidden chars (all chars in `string` replaced by `x`). |
`+${hide:*,password}+` |
`+********+`
| `+${cut:max,suffix,string}+` +
`+${cut:+max,suffix,string}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
String with `max` chars, and optional `suffix` if string is cut. +
With the format `+max`, the suffix is counted in max length. |
`+${cut:4,…,this is a test}+` +
@@ -2452,7 +2452,7 @@ expanded to last):
| `+${cutscr:max,suffix,string}+` +
`+${cutscr:+max,suffix,string}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
String with `max` chars displayed on screen, and optional `suffix` if string is cut. +
With the format `+max`, the suffix is counted in max length. |
`+${cutscr:4,…,this is a test}+` +
@@ -2463,19 +2463,19 @@ expanded to last):
`+こ>>+`
| `+${rev:xxx}+` +
- (_WeeChat ≥ 2.2_) |
+ _(WeeChat ≥ 2.2)_ |
Reversed string. |
`+${rev:Hello, world!}+` |
`+!dlrow ,olleH+`
| `+${repeat:count,string}+` +
- (_WeeChat ≥ 2.3_) |
+ _(WeeChat ≥ 2.3)_ |
Repeated string. |
`+${repeat:5,-}+` |
`+-----+`
| `+${length:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Length of string (number of UTF-8 chars), color codes are ignored. |
`+${length:test}+` +
`+${length:こんにちは世界}+` |
@@ -2483,7 +2483,7 @@ expanded to last):
`+7+`
| `+${lengthscr:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Length of string displayed on screen, color codes are ignored. |
`+${lengthscr:test}+` +
`+${lengthscr:こんにちは世界}+` |
@@ -2491,10 +2491,10 @@ expanded to last):
`+14+`
| `+${re:N}+` +
- (_WeeChat ≥ 1.1_) |
+ _(WeeChat ≥ 1.1)_ |
Regex captured group: `0` = whole string matching, `1` to `99` = group
captured, `+++` = last group captured,
- `#` = index of last group captured (_WeeChat ≥ 1.8_). |
+ `#` = index of last group captured _(WeeChat ≥ 1.8)_. |
`+${re:0}+` +
`+${re:1}+` +
`+${re:2}+` +
@@ -2507,7 +2507,7 @@ expanded to last):
`+2+`
| `+${color:name}+` +
- (_WeeChat ≥ 0.4.2_) |
+ _(WeeChat ≥ 0.4.2)_ |
WeeChat color code (the name of color has optional attributes),
see function <<_color,color>> for supported formats. |
`+${color:red}red text+` +
@@ -2515,9 +2515,18 @@ expanded to last):
`+red text+` (in red) +
`+bold orange text+` (in bold orange)
+| `+${modifier:name,data,string}+` +
+ _(WeeChat ≥ 2.7)_ |
+ Result of a modifier, see function
+ <<_hook_modifier_exec,hook_modifier_exec>>. |
+ `+${modifier:eval_path_home,,~}+` +
+ `+${modifier:eval_path_home,,%h/python}+` |
+ `+/home/xxx+` +
+ `+/home/xxx/.weechat/python+`
+
| `+${info:name}+` +
`+${info:name,arguments}+` +
- (_WeeChat ≥ 0.4.3_) |
+ _(WeeChat ≥ 0.4.3)_ |
Info from WeeChat or a plugin, see function
<<_info_get,info_get>>. |
`+${info:version}+` +
@@ -2527,7 +2536,7 @@ expanded to last):
| `+${date}+` +
`+${date:xxx}+` +
- (_WeeChat ≥ 1.3_) |
+ _(WeeChat ≥ 1.3)_ |
Current date/time, with custom format (see `man strftime`),
default format is `%F %T`. |
`+${date}+` +
@@ -2536,7 +2545,7 @@ expanded to last):
`+19:02:45+`
| `+${env:NAME}+` +
- (_WeeChat ≥ 1.2_) |
+ _(WeeChat ≥ 1.2)_ |
Value of the environment variable `NAME`. |
`+${env:HOME}+` |
`+/home/user+`
@@ -2544,7 +2553,7 @@ expanded to last):
| `+${if:condition}+` +
`+${if:condition?true}+`
`+${if:condition?true:false}+`
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Ternary operator with a condition, a value if the condition is true (optional)
and another value if the condition is false (optional). If values are not
given, "1" or "0" are returned, according to the result of the condition. |
@@ -2552,7 +2561,7 @@ expanded to last):
`+big+`
| `+${calc:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Result of expression, where parentheses and the following operators are
supported: +
`+++`: addition +
@@ -3451,7 +3460,7 @@ void weechat_exec_on_files (const char *directory,
Arguments:
* _directory_: directory for searching files
-* _recurse_subdirs_: 1 to recurse into sub-directories (_WeeChat ≥ 2.0_)
+* _recurse_subdirs_: 1 to recurse into sub-directories _(WeeChat ≥ 2.0)_
* _hidden_files_: 1 to include hidden files, otherwise 0
* _callback_: function called for each file found, arguments:
** _void *data_: pointer
@@ -7730,7 +7739,7 @@ Arguments:
* _context_: context for keys (see <<_key_bind,key_bind>>)
* _key_: key to remove or a special value "area:XXX" to remove all keys having
_XXX_ as first or second area; if the key starts with "quiet:", the keys
- removed are not displayed in _core_ buffer (_WeeChat ≥ 2.0_).
+ removed are not displayed in _core_ buffer _(WeeChat ≥ 2.0)_.
Return value:
@@ -7838,7 +7847,7 @@ Arguments:
** WeeChat color option name (from weechat.color.xxx), for example
_chat_delimiters_
** option name (format: file.section.option), for example
- _irc.color.message_quit_ (_WeeChat ≥ 1.2_)
+ _irc.color.message_quit_ _(WeeChat ≥ 1.2)_
** color with optional attributes/background (see below)
** attribute:
*** _bold_: set bold
@@ -11381,6 +11390,13 @@ List of modifiers defined by WeeChat and plugins that can be used:
- |
Any string. |
String with WeeChat colors converted to ANSI colors.
+
+| [[hook_modifier_eval_path_home]] eval_path_home +
+ _(WeeChat ≥ 2.7)_ |
+ - |
+ Any string. |
+ Evaluated path, result of the function
+ <<_string_eval_path_home,string_eval_path_home>>.
|===
C example:
@@ -14542,7 +14558,7 @@ Arguments:
* _command_: command to execute (if beginning with a "/"), or text to send to
buffer
-Return value (_WeeChat ≥ 1.1_):
+Return value _(WeeChat ≥ 1.1)_:
* _WEECHAT_RC_OK_ if successful
* _WEECHAT_RC_ERROR_ if error
diff --git a/doc/fr/autogen/plugin_api/completions.adoc b/doc/fr/autogen/plugin_api/completions.adoc
index 9c18c1318..b9a94c552 100644
--- a/doc/fr/autogen/plugin_api/completions.adoc
+++ b/doc/fr/autogen/plugin_api/completions.adoc
@@ -142,7 +142,7 @@
| weechat | env_vars | variables d'environnement
-| weechat | filename | nom de fichier
+| weechat | filename | nom de fichier ; paramètre optionnel : chemin par défaut (évalué, voir /help eval)
| weechat | filters_names | noms des filtres
diff --git a/doc/fr/autogen/user/weechat_commands.adoc b/doc/fr/autogen/user/weechat_commands.adoc
index 5807945f1..f5b5592cb 100644
--- a/doc/fr/autogen/user/weechat_commands.adoc
+++ b/doc/fr/autogen/user/weechat_commands.adoc
@@ -305,14 +305,15 @@ Des variables sont remplacées dans l'expression, en utilisant le format ${varia
6. une chaîne répétée (format : "repeat:nombre,chaîne")
7. longueur d'une chaîne (format : "length:xxx" ou "lengthscr:xxx")
8. une couleur (format : "color:xxx", voir la "Référence API extension", fonction "color")
- 9. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
- 10. la date/heure courante (format : "date" ou "date:format")
- 11. une variable d'environnement (format : "env:XXX")
- 12. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
- 13. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format: "calc:xxx")
- 14. une option (format : "fichier.section.option")
- 15. une variable locale du tampon
- 16. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
+ 9. un modificateur (format : "modifier:nom,données,chaîne")
+ 10. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
+ 11. la date/heure courante (format : "date" ou "date:format")
+ 12. une variable d'environnement (format : "env:XXX")
+ 13. un opérateur ternaire (format : "if:condition?valeur_si_vrai:valeur_si_faux")
+ 14. le résultat d'une expression avec parenthèses et les opérateurs + - * / // % ** (format: "calc:xxx")
+ 15. une option (format : "fichier.section.option")
+ 16. une variable locale du tampon
+ 17. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
Le format du hdata peut être le suivant :
hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
hdata[liste].var1.var2... : démarrer avec un hdata en utilisant une liste, par exemple :
diff --git a/doc/fr/weechat_plugin_api.fr.adoc b/doc/fr/weechat_plugin_api.fr.adoc
index b92aa678f..193ec1b3b 100644
--- a/doc/fr/weechat_plugin_api.fr.adoc
+++ b/doc/fr/weechat_plugin_api.fr.adoc
@@ -2234,7 +2234,7 @@ Paramètres :
** _extra_ : le comportement par défaut est juste de remplacer les variables
additionnelles (_extra_vars_), un autre comportement peut être sélectionné :
*** _eval_ : les variables additionnelles (_extra_vars_) sont évaluées
- elles-mêmes avant remplacement (_WeeChat ≥ 1.6_)
+ elles-mêmes avant remplacement _(WeeChat ≥ 1.6)_
** _regex_ : une expression regulière pour remplacer du texte dans _expr_ (qui
n'est alors pas évalué)
** _regex_replace_ : le texte de remplacement à utiliser avec _regex_, pour
@@ -2360,7 +2360,7 @@ Liste des opérateurs de comparaison qui peuvent être utilisés dans les condit
`+1+`
| `+=*+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Correspond au masque où le caractère joker "*" est autorisé (voir la fonction <<_string_match,string_match>>) |
`+abc def =* a*f+` +
`+abc def =* y*z+` |
@@ -2368,7 +2368,7 @@ Liste des opérateurs de comparaison qui peuvent être utilisés dans les condit
`+0+`
| `+!*+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Ne correspond PAS au masque où le caractère joker "*" est autorisé (voir la fonction <<_string_match,string_match>>) |
`+abc def !* a*f+` +
`+abc def !* y*z+` |
@@ -2438,8 +2438,8 @@ La comparaison est faite en utilisant des nombres à virgule si les deux express
sont des nombres valides, avec l'un de ces formats :
* entier (exemples : 5, -7)
-* nombre à virgule (exemples : 5.2, -7.5, 2.83e-2) (_WeeChat ≥ 2.0_)
-* nombre hexadécimal (exemples : 0xA3, -0xA3) (_WeeChat ≥ 2.0_)
+* nombre à virgule (exemples : 5.2, -7.5, 2.83e-2) _(WeeChat ≥ 2.0)_
+* nombre hexadécimal (exemples : 0xA3, -0xA3) _(WeeChat ≥ 2.0)_
Pour forcer une comparaison de chaînes, vous pouvez ajouter des guillemets autour
de chaque expression, par exemple :
@@ -2463,7 +2463,7 @@ première étendue à la dernière) :
`+valeur+`
| `+${eval:xxx}+` +
- (_WeeChat ≥ 1.3_) |
+ _(WeeChat ≥ 1.3)_ |
Chaîne à évaluer. |
`+${eval:${date:${weechat.look.buffer_time_format}}}+` |
`+19:02:45+` (avec des couleurs s'il y a des codes couleur dans l'option
@@ -2471,7 +2471,7 @@ première étendue à la dernière) :
| `+${esc:xxx}+` +
`+${\xxx}+` +
- (_WeeChat ≥ 1.0_) |
+ _(WeeChat ≥ 1.0)_ |
Chaîne avec caractères échappés. |
`+${esc:préfixe\tmessage}+` +
`+${\ua9}+` |
@@ -2479,7 +2479,7 @@ première étendue à la dernière) :
`+©+`
| `+${hide:x,chaîne}+` +
- (_WeeChat ≥ 1.1_) |
+ _(WeeChat ≥ 1.1)_ |
Chaîne avec les caractères masqués (tous les caractères dans `chaîne`
remplacés par `x`). |
`+${hide:*,mot_de_passe}+` |
@@ -2487,7 +2487,7 @@ première étendue à la dernière) :
| `+${cut:max,suffixe,chaîne}+` +
`+${cut:+max,suffixe,chaîne}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Chaîne avec `max` caractères, et un `suffixe` facultatif si la chaîne est coupée. +
Avec le format `+max`, le suffixe est compté dans la longueur maximale. |
`+${cut:4,…,ceci est un test}+` +
@@ -2499,7 +2499,7 @@ première étendue à la dernière) :
| `+${cutscr:max,suffixe,chaîne}+` +
`+${cutscr:+max,suffixe,chaîne}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Chaîne avec `max` caractères affichés à l'écran, et un `suffixe` facultatif si la chaîne est coupée. +
Avec le format `+max`, le suffixe est compté dans la longueur maximale. |
`+${cutscr:4,…,ceci est un test}+` +
@@ -2510,19 +2510,19 @@ première étendue à la dernière) :
`+こ>>+`
| `+${rev:xxx}+` +
- (_WeeChat ≥ 2.2_) |
+ _(WeeChat ≥ 2.2)_ |
Chaîne inversée. |
`+${rev:Bonjour !}+` |
`+! ruojnoB+`
| `+${repeat:nombre,chaîne}+` +
- (_WeeChat ≥ 2.3_) |
+ _(WeeChat ≥ 2.3)_ |
Chaîne répétée. |
`+${repeat:5,-}+` |
`+-----+`
| `+${length:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Longueur de la chaîne (nombre de caractères UTF-8), les codes couleurs sont
ignorés. |
`+${length:test}+` +
@@ -2531,7 +2531,7 @@ première étendue à la dernière) :
`+7+`
| `+${lengthscr:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Longueur de la chaîne affichée à l'écran, les codes couleurs sont ignorés. |
`+${lengthscr:test}+` +
`+${lengthscr:こんにちは世界}+` |
@@ -2539,10 +2539,10 @@ première étendue à la dernière) :
`+14+`
| `+${re:N}+` +
- (_WeeChat ≥ 1.1_) |
+ _(WeeChat ≥ 1.1)_ |
Groupe regex capturé : `0` = toute la chaîne correspondante,
`1` à `99` = groupe capturé, `+++` = dernier groupe capturé,
- `#` = index du dernier groupe capturé (_WeeChat ≥ 1.8_). |
+ `#` = index du dernier groupe capturé _(WeeChat ≥ 1.8)_. |
`+${re:0}+` +
`+${re:1}+` +
`+${re:2}+` +
@@ -2555,7 +2555,7 @@ première étendue à la dernière) :
`+2+`
| `+${color:nom}+` +
- (_WeeChat ≥ 0.4.2_) |
+ _(WeeChat ≥ 0.4.2)_ |
Code couleur WeeChat (le nom de couleur a des attributs facultatifs),
voir la fonction <<_color,color>> pour les formats supportés. |
`+${color:red}texte rouge+` +
@@ -2563,9 +2563,18 @@ première étendue à la dernière) :
`+texte rouge+` (en rouge) +
`+texte orange gras+` (en orange gras)
+| `+${modifier:name,data,string}+` +
+ _(WeeChat ≥ 2.7)_ |
+ Résultat d'un modificateur, voir la fonction
+ <<_hook_modifier_exec,hook_modifier_exec>>. |
+ `+${modifier:eval_path_home,,~}+` +
+ `+${modifier:eval_path_home,,%h/python}+` |
+ `+/home/xxx+` +
+ `+/home/xxx/.weechat/python+`
+
| `+${info:nom}+` +
`+${info:nom,paramètres}+` +
- (_WeeChat ≥ 0.4.3_) |
+ _(WeeChat ≥ 0.4.3)_ |
Info de WeeChat ou d'une extension, voir la fonction <<_info_get,info_get>>. |
`+${info:version}+` +
`+${info:nick_color_name,foo}+` |
@@ -2574,7 +2583,7 @@ première étendue à la dernière) :
| `+${date}+` +
`+${date:xxx}+` +
- (_WeeChat ≥ 1.3_) |
+ _(WeeChat ≥ 1.3)_ |
La date/heure courante, avec un format personnalisé (voir `man strftime`),
le format par défaut est `%F %T`. |
`+${date}+` +
@@ -2583,7 +2592,7 @@ première étendue à la dernière) :
`+19:02:45+`
| `+${env:NOM}+` +
- (_WeeChat ≥ 1.2_) |
+ _(WeeChat ≥ 1.2)_ |
Valeur de la variable d'environnement `NOM`. |
`+${env:HOME}+` |
`+/home/user+`
@@ -2591,7 +2600,7 @@ première étendue à la dernière) :
| `+${if:condition}+` +
`+${if:condition?vrai}+`
`+${if:condition?vrai:faux}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Opérateur ternaire avec une condition, une valeur si la condition est vraie
(optionnelle) et une autre valeur si la condition est fausse (optionnelle).
Si les valeurs ne sont pas données, "1" ou "0" est retourné, selon le résultat
@@ -2600,7 +2609,7 @@ première étendue à la dernière) :
`+grand+`
| `+${calc:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Résultat de l'expression, où les parenthèses et les opérateurs suivants sont
supportés : +
`+++` : addition +
@@ -3512,7 +3521,7 @@ void weechat_exec_on_files (const char *directory,
Paramètres :
* _directory_ : répertoire où chercher les fichiers
-* _recurse_subdirs_ : 1 pour entrer dans les sous-répertoires (_WeeChat ≥ 2.0_)
+* _recurse_subdirs_ : 1 pour entrer dans les sous-répertoires _(WeeChat ≥ 2.0)_
* _hidden_files_ : 1 pour inclure les fichiers cachés, sinon 0
* _callback_ : fonction appelée pour chaque fichier trouvé, paramètres :
** _void *data_ : pointeur
@@ -7853,7 +7862,7 @@ Paramètres :
* _key_ : touche à supprimer ou la valeur spéciale "area:XXX" pour supprimer
toutes les touches ayant _XXX_ comme première ou deuxième zone; si la touche
commence par "quiet:", les touches supprimées ne sont pas affichées dans le
- tampon _core_ (_WeeChat ≥ 2.0_).
+ tampon _core_ _(WeeChat ≥ 2.0)_.
Valeur de retour :
@@ -7961,7 +7970,7 @@ Paramètres :
** le nom d'une option de couleur WeeChat (de weechat.color.xxx), par exemple
_chat_delimiters_
** le nom d'une option (format : fichier.section.option), par exemple
- _irc.color.message_quit_ (_WeeChat ≥ 1.2_)
+ _irc.color.message_quit_ _(WeeChat ≥ 1.2)_
** une couleur avec des attributs/fond optionnels (voir ci-dessous)
** un attribut :
*** _bold_ : activer le gras
@@ -11625,6 +11634,14 @@ utilisés :
- |
Toute chaîne. |
Chaîne avec les couleurs WeeChat converties en couleurs ANSI.
+
+// TRANSLATION MISSING
+| [[hook_modifier_eval_path_home]] eval_path_home +
+ _(WeeChat ≥ 2.7)_ |
+ - |
+ Toute chaîne. |
+ Chemin évalué, résultat de la fonction
+ <<_string_eval_path_home,string_eval_path_home>>.
|===
Exemple en C :
@@ -14861,7 +14878,7 @@ Paramètres :
* _command_ : commande à exécuter (si elle commence par "/"), ou texte à
envoyer au tampon
-Valeur de retour (_WeeChat ≥ 1.1_) :
+Valeur de retour _(WeeChat ≥ 1.1)_ :
* _WEECHAT_RC_OK_ si ok
* _WEECHAT_RC_ERROR_ si erreur
diff --git a/doc/it/autogen/plugin_api/completions.adoc b/doc/it/autogen/plugin_api/completions.adoc
index 5489f6d38..08818d4d4 100644
--- a/doc/it/autogen/plugin_api/completions.adoc
+++ b/doc/it/autogen/plugin_api/completions.adoc
@@ -142,7 +142,7 @@
| weechat | env_vars | environment variables
-| weechat | filename | nome file
+| weechat | filename | filename; optional argument: default path (evaluated, see /help eval)
| weechat | filters_names | nomi dei filtri
diff --git a/doc/it/autogen/user/weechat_commands.adoc b/doc/it/autogen/user/weechat_commands.adoc
index 57114e6b8..0c052b596 100644
--- a/doc/it/autogen/user/weechat_commands.adoc
+++ b/doc/it/autogen/user/weechat_commands.adoc
@@ -305,14 +305,15 @@ Some variables are replaced in expression, using the format ${variable}, variabl
6. a repeated string (format: "repeat:count,string")
7. length of a string (format: "length:xxx" or "lengthscr:xxx")
8. a color (format: "color:xxx", see "Plugin API reference", function "color")
- 9. an info (format: "info:name,arguments", arguments are optional)
- 10. current date/time (format: "date" or "date:format")
- 11. an environment variable (format: "env:XXX")
- 12. a ternary operator (format: "if:condition?value_if_true:value_if_false")
- 13. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
- 14. an option (format: "file.section.option")
- 15. a local variable in buffer
- 16. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
+ 9. a modifier (format: "modifier:name,data,string")
+ 10. an info (format: "info:name,arguments", arguments are optional)
+ 11. current date/time (format: "date" or "date:format")
+ 12. an environment variable (format: "env:XXX")
+ 13. a ternary operator (format: "if:condition?value_if_true:value_if_false")
+ 14. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
+ 15. an option (format: "file.section.option")
+ 16. a local variable in buffer
+ 17. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list, for example:
diff --git a/doc/it/weechat_plugin_api.it.adoc b/doc/it/weechat_plugin_api.it.adoc
index 450a3b44e..3d7f76a45 100644
--- a/doc/it/weechat_plugin_api.it.adoc
+++ b/doc/it/weechat_plugin_api.it.adoc
@@ -2287,7 +2287,7 @@ Argomenti:
** _extra_: default behavior is to just replace extra variables (_extra_vars_),
other behavior can be selected:
*** _eval_: extra variables (_extra_vars_) are evaluated themselves before
- replacing (_WeeChat ≥ 1.6_)
+ replacing _(WeeChat ≥ 1.6)_
** _regex_: a regex used to replace text in _expr_ (which is then not
evaluated)
** _regex_replace_: the replacement text to use with _regex_, to replace
@@ -2417,7 +2417,7 @@ from first used to last):
`+1+`
| `+=*+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Is matching mask where "*" is allowed (see function <<_string_match,string_match>>) |
`+abc def =* a*f+` +
`+abc def =* y*z+` |
@@ -2425,7 +2425,7 @@ from first used to last):
`+0+`
| `+!*+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Is NOT matching mask where "*" is allowed (see function <<_string_match,string_match>>) |
`+abc def !* a*f+` +
`+abc def !* y*z+` |
@@ -2496,8 +2496,8 @@ The comparison is made using floating point numbers if the two expressions are
valid numbers, with one of the following formats:
* integer (examples: 5, -7)
-* floating point number (examples: 5.2, -7.5, 2.83e-2) (_WeeChat ≥ 2.0_)
-* hexadecimal number (examples: 0xA3, -0xA3) (_WeeChat ≥ 2.0_)
+* floating point number (examples: 5.2, -7.5, 2.83e-2) _(WeeChat ≥ 2.0)_
+* hexadecimal number (examples: 0xA3, -0xA3) _(WeeChat ≥ 2.0)_
// TRANSLATION MISSING
To force a string comparison, you can add double quotes around each expression,
@@ -2525,7 +2525,7 @@ expanded to last):
`+value+`
| `+${eval:xxx}+` +
- (_WeeChat ≥ 1.3_) |
+ _(WeeChat ≥ 1.3)_ |
String to evaluate. |
`+${eval:${date:${weechat.look.buffer_time_format}}}+` |
`+19:02:45+` (with colors if there are color codes in the option
@@ -2533,7 +2533,7 @@ expanded to last):
| `+${esc:xxx}+` +
`+${\xxx}+` +
- (_WeeChat ≥ 1.0_) |
+ _(WeeChat ≥ 1.0)_ |
String with escaped chars. |
`+${esc:prefix\tmessage}+` +
`+${\ua9}+` |
@@ -2541,14 +2541,14 @@ expanded to last):
`+©+`
| `+${hide:x,string}+` +
- (_WeeChat ≥ 1.1_) |
+ _(WeeChat ≥ 1.1)_ |
String with hidden chars (all chars in `string` replaced `x`). |
`+${hide:*,password}+` |
`+********+`
| `+${cut:max,suffix,string}+` +
`+${cut:+max,suffix,string}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
String with `max` chars, and optional `suffix` if string is cut. +
With the format `+max`, the suffix is counted in max length. |
`+${cut:4,…,this is a test}+` +
@@ -2560,7 +2560,7 @@ expanded to last):
| `+${cutscr:max,suffix,string}+` +
`+${cutscr:+max,suffix,string}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
String with `max` chars displayed on screen, and optional `suffix` if string is cut. +
With the format `+max`, the suffix is counted in max length. |
`+${cutscr:4,…,this is a test}+` +
@@ -2571,19 +2571,19 @@ expanded to last):
`+こ>>+`
| `+${rev:xxx}+` +
- (_WeeChat ≥ 2.2_) |
+ _(WeeChat ≥ 2.2)_ |
Reversed string. |
`+${rev:Hello, world!}+` |
`+!dlrow ,olleH+`
| `+${repeat:count,string}+` +
- (_WeeChat ≥ 2.3_) |
+ _(WeeChat ≥ 2.3)_ |
Repeated string. |
`+${repeat:5,-}+` |
`+-----+`
| `+${length:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Length of string (number of UTF-8 chars), color codes are ignored. |
`+${length:test}+` +
`+${length:こんにちは世界}+` |
@@ -2591,7 +2591,7 @@ expanded to last):
`+7+`
| `+${lengthscr:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Length of string displayed on screen, color codes are ignored. |
`+${lengthscr:test}+` +
`+${lengthscr:こんにちは世界}+` |
@@ -2599,10 +2599,10 @@ expanded to last):
`+14+`
| `+${re:N}+` +
- (_WeeChat ≥ 1.1_) |
+ _(WeeChat ≥ 1.1)_ |
Regex captured group: `0` = whole string matching, `1` to `99` = group
captured, `+++` = last group captured,
- `#` = index of last group captured (_WeeChat ≥ 1.8_). |
+ `#` = index of last group captured _(WeeChat ≥ 1.8)_. |
`+${re:0}+` +
`+${re:1}+` +
`+${re:2}+` +
@@ -2615,7 +2615,7 @@ expanded to last):
`+2+`
| `+${color:name}+` +
- (_WeeChat ≥ 0.4.2_) |
+ _(WeeChat ≥ 0.4.2)_ |
WeeChat color code (the name of color has optional attributes),
see function <<_color,color>> for supported formats. |
`+${color:red}red text+` +
@@ -2623,9 +2623,18 @@ expanded to last):
`+red text+` (in red) +
`+bold orange text+` (in bold orange)
+| `+${modifier:name,data,string}+` +
+ _(WeeChat ≥ 2.7)_ |
+ Result of a modifier, see function
+ <<_hook_modifier_exec,hook_modifier_exec>>. |
+ `+${modifier:eval_path_home,,~}+` +
+ `+${modifier:eval_path_home,,%h/python}+` |
+ `+/home/xxx+` +
+ `+/home/xxx/.weechat/python+`
+
| `+${info:name}+` +
`+${info:name,arguments}+` +
- (_WeeChat ≥ 0.4.3_) |
+ _(WeeChat ≥ 0.4.3)_ |
Info from WeeChat or a plugin, see function <<_info_get,info_get>>. |
`+${info:version}+` +
`+${info:nick_color_name,foo}+` |
@@ -2634,7 +2643,7 @@ expanded to last):
| `+${date}+` +
`+${date:xxx}+` +
- (_WeeChat ≥ 1.3_) |
+ _(WeeChat ≥ 1.3)_ |
Current date/time, with custom format (see `man strftime`),
default format is `%F %T`. |
`+${date}+` +
@@ -2643,7 +2652,7 @@ expanded to last):
`+19:02:45+`
| `+${env:NAME}+` +
- (_WeeChat ≥ 1.2_) |
+ _(WeeChat ≥ 1.2)_ |
Value of the environment variable `NAME`. |
`+${env:HOME}+` |
`+/home/user+`
@@ -2651,7 +2660,7 @@ expanded to last):
| `+${if:condition}+` +
`+${if:condition?true}+`
`+${if:condition?true:false}+` +
- (_WeeChat ≥ 1.8_) |
+ _(WeeChat ≥ 1.8)_ |
Ternary operator with a condition, a value if the condition is true (optional)
and another value if the condition is false (optional). If values are not
given, "1" or "0" are returned, according to the result of the condition. |
@@ -2659,7 +2668,7 @@ expanded to last):
`+big+`
| `+${calc:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Result of expression, where parentheses and the following operators are
supported: +
`+++`: addition +
@@ -3593,7 +3602,7 @@ Argomenti:
* _directory_: cartella in cui cercare i file
// TRANSLATION MISSING
-* _recurse_subdirs_: 1 to recurse into sub-directories (_WeeChat ≥ 2.0_)
+* _recurse_subdirs_: 1 to recurse into sub-directories _(WeeChat ≥ 2.0)_
* _hidden_files_: 1 per includere i file nascosti, altrimenti 0
* _callback_: funzione chiamata per ogni file trovato, argomenti:
** _void *data_: puntatore
@@ -7987,7 +7996,7 @@ Argomenti:
// TRANSLATION MISSING
* _key_: tasto da rimuovere o un valore speciale "area:XXX" per rimuovere tutti
i tasti che hanno _XXX_ come prima o seconda area; if the key starts with
- "quiet:", the keys removed are not displayed in _core_ buffer (_WeeChat ≥ 2.0_).
+ "quiet:", the keys removed are not displayed in _core_ buffer _(WeeChat ≥ 2.0)_.
Valore restituito:
@@ -8099,7 +8108,7 @@ Argomenti:
_chat_delimiters_
// TRANSLATION MISSING
** option name (format: file.section.option), for example
- _irc.color.message_quit_ (_WeeChat ≥ 1.2_)
+ _irc.color.message_quit_ _(WeeChat ≥ 1.2)_
** colore con attributi/sfondo opzionali (vedi sotto)
** attributo:
*** _bold_: imposta grassetto
@@ -11842,6 +11851,14 @@ List of modifiers defined by WeeChat and plugins that can be used:
- |
Any string. |
String with WeeChat colors converted to ANSI colors.
+
+// TRANSLATION MISSING
+| [[hook_modifier_eval_path_home]] eval_path_home +
+ _(WeeChat ≥ 2.7)_ |
+ - |
+ Any string. |
+ Evaluated path, result of the function
+ <<_string_eval_path_home,string_eval_path_home>>.
|===
Esempio in C:
@@ -15128,7 +15145,7 @@ Argomenti:
* _command_: comando da eseguire (se preceduto da "/"), oppure il testo
viene inviato sul buffer
-Valori restituiti (_WeeChat ≥ 1.1_):
+Valori restituiti _(WeeChat ≥ 1.1)_:
* _WEECHAT_RC_OK_ se l'operazione ha successo
* _WEECHAT_RC_ERROR_ se c'è un errore
diff --git a/doc/ja/autogen/plugin_api/completions.adoc b/doc/ja/autogen/plugin_api/completions.adoc
index 241e42369..3496d0f40 100644
--- a/doc/ja/autogen/plugin_api/completions.adoc
+++ b/doc/ja/autogen/plugin_api/completions.adoc
@@ -142,7 +142,7 @@
| weechat | env_vars | 環境変数
-| weechat | filename | ファイル名
+| weechat | filename | filename; optional argument: default path (evaluated, see /help eval)
| weechat | filters_names | フィルタ名
diff --git a/doc/ja/autogen/user/weechat_commands.adoc b/doc/ja/autogen/user/weechat_commands.adoc
index fc4eee00d..18c771df3 100644
--- a/doc/ja/autogen/user/weechat_commands.adoc
+++ b/doc/ja/autogen/user/weechat_commands.adoc
@@ -305,14 +305,15 @@ Some variables are replaced in expression, using the format ${variable}, variabl
6. a repeated string (format: "repeat:count,string")
7. length of a string (format: "length:xxx" or "lengthscr:xxx")
8. a color (format: "color:xxx", see "Plugin API reference", function "color")
- 9. an info (format: "info:name,arguments", arguments are optional)
- 10. current date/time (format: "date" or "date:format")
- 11. an environment variable (format: "env:XXX")
- 12. a ternary operator (format: "if:condition?value_if_true:value_if_false")
- 13. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
- 14. an option (format: "file.section.option")
- 15. a local variable in buffer
- 16. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
+ 9. a modifier (format: "modifier:name,data,string")
+ 10. an info (format: "info:name,arguments", arguments are optional)
+ 11. current date/time (format: "date" or "date:format")
+ 12. an environment variable (format: "env:XXX")
+ 13. a ternary operator (format: "if:condition?value_if_true:value_if_false")
+ 14. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
+ 15. an option (format: "file.section.option")
+ 16. a local variable in buffer
+ 17. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list, for example:
diff --git a/doc/ja/weechat_plugin_api.ja.adoc b/doc/ja/weechat_plugin_api.ja.adoc
index f46da312d..c04b26c3c 100644
--- a/doc/ja/weechat_plugin_api.ja.adoc
+++ b/doc/ja/weechat_plugin_api.ja.adoc
@@ -2203,7 +2203,7 @@ char *weechat_string_eval_expression (const char *expr,
** _extra_: デフォルトの挙動では追加変数 (_extra_vars_)
を単純に置換するだけですが、この挙動を変更します。設定可能な値は以下です:
*** _eval_: 置換前に追加変数 (_extra_vars_)
- を評価します (_WeeChat バージョン 1.6 以上で利用可_)
+ を評価します _(WeeChat バージョン 1.6 以上で利用可)_
** _regex_: _expr_ のテキストを置換する正規表現
(この場合 _expr_ は評価されません)
** _regex_replace_: _regex_ と一緒に使われる置換テキスト、_expr_
@@ -2327,7 +2327,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+1+`
| `+=*+` +
- (_WeeChat バージョン 1.8 以上で利用可_) |
+ _(WeeChat バージョン 1.8 以上で利用可)_ |
マスクにマッチ、"*" を指定できます (関数 <<_string_match,string_match>> を確認してください) |
`+abc def =* a*f+` +
`+abc def =* y*z+` |
@@ -2335,7 +2335,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+0+`
| `+!*+` +
- (_WeeChat バージョン 1.8 以上で利用可_) |
+ _(WeeChat バージョン 1.8 以上で利用可)_ |
マスクにマッチしない、"*" を指定できます (関数 <<_string_match,string_match>> を確認してください) |
`+abc def !* a*f+` +
`+abc def !* y*z+` |
@@ -2404,8 +2404,8 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
浮動小数点数として比較される数値表現の書式は以下です:
* 整数 (例: 5、-7)
-* 浮動小数点数 (例: 5.2、-7.5、2.83e-2) (_WeeChat バージョン 2.0 以上で利用可_)
-* 16 進数 (例: 0xA3、-0xA3) (_WeeChat バージョン 2.0 以上で利用可_)
+* 浮動小数点数 (例: 5.2、-7.5、2.83e-2) _(WeeChat バージョン 2.0 以上で利用可)_
+* 16 進数 (例: 0xA3、-0xA3) _(WeeChat バージョン 2.0 以上で利用可)_
数値表現を二重引用符で括ることで、文字列として比較されます。例:
@@ -2428,7 +2428,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+value+`
| `+${eval:xxx}+` +
- (_WeeChat バージョン 1.3 以上で利用可_) |
+ _(WeeChat バージョン 1.3 以上で利用可)_ |
評価する文字列 |
`+${eval:${date:${weechat.look.buffer_time_format}}}+` |
`+19:02:45+` (オプション weechat.look.buffer_time_format
@@ -2436,7 +2436,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
| `+${esc:xxx}+` +
`+${\xxx}+` +
- (_WeeChat バージョン 1.0 以上で利用可_) |
+ _(WeeChat バージョン 1.0 以上で利用可)_ |
エスケープ文字を含む文字列 |
`+${esc:prefix\tmessage}+` +
`+${\ua9}+` |
@@ -2451,7 +2451,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
| `+${cut:max,suffix,string}+` +
`+${cut:+max,suffix,string}+` +
- (_WeeChat バージョン 1.8 以上で利用可_) |
+ _(WeeChat バージョン 1.8 以上で利用可)_ |
`string` の先頭 `max` 文字とオプションの `suffix` 文字 (`string` の文字数が `max` 文字を超える場合) +
`+max` を使った場合、`max` 文字にはサフィックスの文字数も含まれます。|
`+${cut:4,…,this is a test}+` +
@@ -2463,7 +2463,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
| `+${cutscr:max,suffix,string}+` +
`+${cutscr:+max,suffix,string}+` +
- (_WeeChat バージョン 1.8 以上で利用可_) |
+ _(WeeChat バージョン 1.8 以上で利用可)_ |
`string` の先頭 `max` 文字 (半角文字幅換算) とオプションの `suffix` 文字 (`string` の文字数が `max` 文字を超える場合) +
`+max` を使った場合、`max` 文字にはサフィックスの文字数も含まれます。|
`+${cutscr:4,…,this is a test}+` +
@@ -2474,20 +2474,20 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+こ>>+`
| `+${rev:xxx}+` +
- (_WeeChat バージョン 2.2 以上で利用可_) |
+ _(WeeChat バージョン 2.2 以上で利用可)_ |
文字順を反転させた文字列。|
`+${rev:Hello, world!}+` |
`+!dlrow ,olleH+`
| `+${repeat:count,string}+` +
- (_WeeChat バージョン 2.3 以上で利用可_) |
+ _(WeeChat バージョン 2.3 以上で利用可)_ |
繰り返し文字列。|
`+${repeat:5,-}+` |
`+-----+`
// TRANSLATION MISSING
| `+${length:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Length of string (number of UTF-8 chars), color codes are ignored. |
`+${length:test}+` +
`+${length:こんにちは世界}+` |
@@ -2496,7 +2496,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
// TRANSLATION MISSING
| `+${lengthscr:xxx}+` +
- (_WeeChat ≥ 2.7_) |
+ _(WeeChat ≥ 2.7)_ |
Length of string displayed on screen, color codes are ignored. |
`+${lengthscr:test}+` +
`+${lengthscr:こんにちは世界}+` |
@@ -2504,10 +2504,10 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+14+`
| `+${re:N}+` +
- (_WeeChat バージョン 1.1 以上で利用可_) |
+ _(WeeChat バージョン 1.1 以上で利用可)_ |
正規表現のキャプチャグループ: `0` = マッチするすべての文字列、`1` から `99` =
キャプチャされたグループ、`+++` = 最後にキャプチャされたグループ、
- `#` = 最後にキャプチャされたグループのインデックス番号 (_WeeChat バージョン 1.8 以上で利用可_) |
+ `#` = 最後にキャプチャされたグループのインデックス番号 _(WeeChat バージョン 1.8 以上で利用可)_ |
`+${re:0}+` +
`+${re:1}+` +
`+${re:2}+` +
@@ -2520,7 +2520,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+2+`
| `+${color:name}+` +
- (_WeeChat バージョン 0.4.2 以上で利用可_) |
+ _(WeeChat バージョン 0.4.2 以上で利用可)_ |
WeeChat 色コード (色名部分はオプション属性をとることも可能です),
書式を確認するには関数 <<_color,color>> をご確認ください |
`+${color:red}red text+` +
@@ -2528,9 +2528,19 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+red text+` (赤色で) +
`+bold orange text+` (太字オレンジ色で)
+// TRANSLATION MISSING
+| `+${modifier:name,data,string}+` +
+ _(WeeChat バージョン 2.7 以上で利用可)_ |
+ Result of a modifier, see function
+ <<_hook_modifier_exec,hook_modifier_exec>>. |
+ `+${modifier:eval_path_home,,~}+` +
+ `+${modifier:eval_path_home,,%h/python}+` |
+ `+/home/xxx+` +
+ `+/home/xxx/.weechat/python+`
+
| `+${info:name}+` +
`+${info:name,arguments}+` +
- (_WeeChat バージョン 0.4.3 以上で利用可_) |
+ _(WeeChat バージョン 0.4.3 以上で利用可)_ |
WeeChat またはプラグインのインフォ、<<_info_get,info_get>>
を参照 |
`+${info:version}+` +
@@ -2540,7 +2550,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
| `+${date}+` +
`+${date:xxx}+` +
- (_WeeChat バージョン 1.3 以上で利用可_) |
+ _(WeeChat バージョン 1.3 以上で利用可)_ |
現在の日付/時刻、カスタム書式を使うことも可能です (`man strftime` を参照)、
デフォルト書式は `%F %T` |
`+${date}+` +
@@ -2549,7 +2559,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
`+19:02:45+`
| `+${env:NAME}+` +
- (_WeeChat バージョン 1.2 以上で利用可_) |
+ _(WeeChat バージョン 1.2 以上で利用可)_ |
環境変数 `NAME` の値 |
`+${env:HOME}+` |
`+/home/user+`
@@ -2557,7 +2567,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
| `+${if:condition}+` +
`+${if:condition?true}+`
`+${if:condition?true:false}+` +
- (_WeeChat バージョン 1.8 以上で利用可_) |
+ _(WeeChat バージョン 1.8 以上で利用可)_ |
条件、条件が真の場合の値 (任意)、条件が偽の場合の値 (任意)
からなる三項演算子。値を指定しなかった場合、条件の評価結果に応じて
"1" または "0" が返されます |
@@ -2566,7 +2576,7 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
// TRANSLATION MISSING
| `+${calc:xxx}+` +
- (_WeeChat バージョン 2.7 以上で利用可_) |
+ _(WeeChat バージョン 2.7 以上で利用可)_ |
Result of expression, where parentheses and the following operators are
supported: +
`+++`: addition +
@@ -3464,7 +3474,7 @@ void weechat_exec_on_files (const char *directory,
引数:
* _directory_: ファイルを検索するディレクトリ
-* _recurse_subdirs_: サブディレクトリ内を再帰的に探す場合は 1 (_WeeChat バージョン 2.0 以上で利用可_)
+* _recurse_subdirs_: サブディレクトリ内を再帰的に探す場合は 1 _(WeeChat バージョン 2.0 以上で利用可)_
* _hidden_files_: 検索対象に隠しファイルを含める場合は 1、含めない場合は 0
* _callback_: 各ファイルに対して呼び出すコールバック関数、引数:
** _void *data_: ポインタ
@@ -7703,7 +7713,7 @@ int weechat_key_unbind (const char *context, const char *key);
* _key_: 削除するキーまたは特殊値 "area:XXX" で1 番目または 2
番目の領域から _XXX_ をもつすべてのキーを削除しますが、
キーの先頭に "quiet:" を付けた場合には、削除されたキーを _core_
- バッファに表示しません (_WeeChat バージョン 2.0 以上で利用可_)。
+ バッファに表示しません _(WeeChat バージョン 2.0 以上で利用可)_。
戻り値:
@@ -7811,7 +7821,7 @@ const char *weechat_color (const char *color_name);
** WeeChat 色オプション名 (weechat.color.xxx の xxx)、例えば
_chat_delimiters_
** オプション名 (書式: file.section.option)、例えば
- _irc.color.message_quit_ (_WeeChat バージョン 1.2 以上で利用可_)
+ _irc.color.message_quit_ _(WeeChat バージョン 1.2 以上で利用可)_
** 任意で属性や背景色を指定した色 (以下を参照)
** 属性:
*** _bold_: 太字を有効
@@ -11354,6 +11364,14 @@ WeeChat とプラグインが定義する修飾子のリスト:
- |
任意の文字列 |
String with WeeChat colors converted to ANSI colors.
+
+// TRANSLATION MISSING
+| [[hook_modifier_eval_path_home]] eval_path_home +
+ _(WeeChat バージョン 2.7 以上で利用可)_ |
+ - |
+ Any string. |
+ Evaluated path, result of the function
+ <<_string_eval_path_home,string_eval_path_home>>.
|===
C 言語での使用例:
@@ -14512,7 +14530,7 @@ int weechat_command (struct t_gui_buffer *buffer, const char *command);
* _command_: 実行するコマンド ("/"
で始まっている場合)、またはバッファに送信するテキスト
-戻り値 (_WeeChat バージョン 1.1 以上で利用可_):
+戻り値 _(WeeChat バージョン 1.1 以上で利用可)_:
* _WEECHAT_RC_OK_ 成功した場合
* _WEECHAT_RC_ERROR_ エラーが起きた場合
diff --git a/doc/pl/autogen/plugin_api/completions.adoc b/doc/pl/autogen/plugin_api/completions.adoc
index acfc9ddce..844580a92 100644
--- a/doc/pl/autogen/plugin_api/completions.adoc
+++ b/doc/pl/autogen/plugin_api/completions.adoc
@@ -142,7 +142,7 @@
| weechat | env_vars | zmienne środowiskowe
-| weechat | filename | nazwa pliku
+| weechat | filename | filename; optional argument: default path (evaluated, see /help eval)
| weechat | filters_names | nazwy filtrów
diff --git a/doc/pl/autogen/user/weechat_commands.adoc b/doc/pl/autogen/user/weechat_commands.adoc
index cdcef73e0..72ebb7dec 100644
--- a/doc/pl/autogen/user/weechat_commands.adoc
+++ b/doc/pl/autogen/user/weechat_commands.adoc
@@ -305,14 +305,15 @@ Some variables are replaced in expression, using the format ${variable}, variabl
6. a repeated string (format: "repeat:count,string")
7. length of a string (format: "length:xxx" or "lengthscr:xxx")
8. a color (format: "color:xxx", see "Plugin API reference", function "color")
- 9. an info (format: "info:name,arguments", arguments are optional)
- 10. current date/time (format: "date" or "date:format")
- 11. an environment variable (format: "env:XXX")
- 12. a ternary operator (format: "if:condition?value_if_true:value_if_false")
- 13. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
- 14. an option (format: "file.section.option")
- 15. a local variable in buffer
- 16. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
+ 9. a modifier (format: "modifier:name,data,string")
+ 10. an info (format: "info:name,arguments", arguments are optional)
+ 11. current date/time (format: "date" or "date:format")
+ 12. an environment variable (format: "env:XXX")
+ 13. a ternary operator (format: "if:condition?value_if_true:value_if_false")
+ 14. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
+ 15. an option (format: "file.section.option")
+ 16. a local variable in buffer
+ 17. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
Format for hdata can be one of following:
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
hdata[list].var1.var2...: start with a hdata using a list, for example:
diff --git a/po/cs.po b/po/cs.po
index e9dc7799c..75e97bd74 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-05-13 21:31+0200\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1575,16 +1575,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -2826,8 +2827,10 @@ msgstr "barvy palety"
msgid "configuration files"
msgstr "konfigurační soubory"
-msgid "filename"
-msgstr "jméno souboru"
+#, fuzzy
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
+"uživatelské jméno pro proxy server(pozn.: obsah je vykonán, viz /help eval)"
msgid "names of filters"
msgstr "jména filtrů"
@@ -12925,6 +12928,9 @@ msgstr "%s%s: vypršel časový limit \"%s\" pro %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: nemohu se připojit\" neočekávaná chyba (%d)"
+#~ msgid "filename"
+#~ msgstr "jméno souboru"
+
#, fuzzy
#~ msgid "color for backlog lines"
#~ msgstr "barva položek, které jsou pryč"
diff --git a/po/de.po b/po/de.po
index 77bfc699a..ccd458c34 100644
--- a/po/de.po
+++ b/po/de.po
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-10-03 15:25+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -1661,6 +1661,7 @@ msgstr "evaluierter Ausdruck"
msgid "[-n|-s] <expression> || [-n] -c <expression1> <operator> <expression2>"
msgstr "[-n|-s] <expression> || [-n] -c <expression1> <operator> <expression2>"
+#, fuzzy
msgid ""
" -n: display result without sending it to buffer (debug mode)\n"
" -s: split expression before evaluating it (many commands can be "
@@ -1711,16 +1712,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -3410,8 +3412,10 @@ msgstr "Farbpalette"
msgid "configuration files"
msgstr "Konfigurationsdateien"
-msgid "filename"
-msgstr "Dateinamen"
+#, fuzzy
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
+"Username für Proxy Server (Hinweis: Inhalt wird evaluiert, siehe /help eval)"
msgid "names of filters"
msgstr "Liste der Filter"
@@ -15107,5 +15111,8 @@ msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr ""
"%s%s: Verbindung konnte nicht hergestellt werden: unerwarteter Fehler (%d)"
+#~ msgid "filename"
+#~ msgstr "Dateinamen"
+
#~ msgid "color for backlog lines"
#~ msgstr "Textfarbe in der der Verlaufsspeicher dargestellt werden soll"
diff --git a/po/es.po b/po/es.po
index f36a0e7d8..b5f33a54a 100644
--- a/po/es.po
+++ b/po/es.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-05-13 21:31+0200\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1606,16 +1606,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -2941,8 +2942,8 @@ msgstr "paleta de colores"
msgid "configuration files"
msgstr "archivos de configuración"
-msgid "filename"
-msgstr "nombre de archivo"
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
msgid "names of filters"
msgstr "nombre de los filtros"
@@ -13209,5 +13210,8 @@ msgstr "%s%s: tiempo de espera máximo para \"%s\" con %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: no es posible conectarse al transmisor"
+#~ msgid "filename"
+#~ msgstr "nombre de archivo"
+
#~ msgid "color for backlog lines"
#~ msgstr "color para las líneas del último registro"
diff --git a/po/fr.po b/po/fr.po
index ee44b3978..655442f7a 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
-"PO-Revision-Date: 2019-10-05 18:02+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
+"PO-Revision-Date: 2019-10-06 09:22+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -1680,16 +1680,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -1793,17 +1794,18 @@ msgstr ""
" 7. longueur d'une chaîne (format : \"length:xxx\" ou \"lengthscr:xxx\")\n"
" 8. une couleur (format : \"color:xxx\", voir la \"Référence API extension"
"\", fonction \"color\")\n"
-" 9. une info (format : \"info:nom,paramètres\", les paramètres sont "
+" 9. un modificateur (format : \"modifier:nom,données,chaîne\")\n"
+" 10. une info (format : \"info:nom,paramètres\", les paramètres sont "
"optionnels)\n"
-" 10. la date/heure courante (format : \"date\" ou \"date:format\")\n"
-" 11. une variable d'environnement (format : \"env:XXX\")\n"
-" 12. un opérateur ternaire (format : \"if:condition?valeur_si_vrai:"
+" 11. la date/heure courante (format : \"date\" ou \"date:format\")\n"
+" 12. une variable d'environnement (format : \"env:XXX\")\n"
+" 13. un opérateur ternaire (format : \"if:condition?valeur_si_vrai:"
"valeur_si_faux\")\n"
-" 13. le résultat d'une expression avec parenthèses et les opérateurs + - "
+" 14. le résultat d'une expression avec parenthèses et les opérateurs + - "
"* / // % ** (format: \"calc:xxx\")\n"
-" 14. une option (format : \"fichier.section.option\")\n"
-" 15. une variable locale du tampon\n"
-" 16. un hdata/variable (la valeur est automatiquement convertie en chaîne), "
+" 15. une option (format : \"fichier.section.option\")\n"
+" 16. une variable locale du tampon\n"
+" 17. un hdata/variable (la valeur est automatiquement convertie en chaîne), "
"par défaut \"window\" et \"buffer\" pointent vers la fenêtre et le tampon "
"courants.\n"
"Le format du hdata peut être le suivant :\n"
@@ -3322,8 +3324,10 @@ msgstr "couleurs de la palette"
msgid "configuration files"
msgstr "fichiers de configuration"
-msgid "filename"
-msgstr "nom de fichier"
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
+"nom de fichier ; paramètre optionnel : chemin par défaut (évalué, voir /help "
+"eval)"
msgid "names of filters"
msgstr "noms des filtres"
@@ -14803,5 +14807,8 @@ msgstr "%s%s : délai d'attente dépassé pour \"%s\" avec %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s : impossible de se connecter : erreur inattendue (%d)"
+#~ msgid "filename"
+#~ msgstr "nom de fichier"
+
#~ msgid "color for backlog lines"
#~ msgstr "couleur pour les lignes de l'historique"
diff --git a/po/hu.po b/po/hu.po
index ebb370712..4edf75458 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-05-13 21:31+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1494,16 +1494,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -2460,9 +2461,8 @@ msgstr "Alapértelmezett billentyűparancsok visszaállítva\n"
msgid "configuration files"
msgstr "szerver konfigurációs fájljának újraolvastatása"
-#, fuzzy
-msgid "filename"
-msgstr "a felhasználók le lettek tiltva"
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
#, fuzzy
msgid "names of filters"
@@ -12181,5 +12181,9 @@ msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s DCC: nem sikerült kapcsolódni a küldőhöz\n"
#, fuzzy
+#~ msgid "filename"
+#~ msgstr "a felhasználók le lettek tiltva"
+
+#, fuzzy
#~ msgid "color for backlog lines"
#~ msgstr "távollevő felhasználók nevének színe"
diff --git a/po/it.po b/po/it.po
index f99fe78bf..aa95ce994 100644
--- a/po/it.po
+++ b/po/it.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-05-13 21:31+0200\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1589,16 +1589,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -3030,8 +3031,11 @@ msgstr "Tavolozza dei colori"
msgid "configuration files"
msgstr "file di configurazione"
-msgid "filename"
-msgstr "nome file"
+#, fuzzy
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
+"nome utente per il server proxy (nota: il contenuto viene valutato, "
+"consultare /help eval)"
msgid "names of filters"
msgstr "nomi dei filtri"
@@ -13429,5 +13433,8 @@ msgstr "%s%s: timeout per \"%s\" con %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: impossibile connettersi al mittente"
+#~ msgid "filename"
+#~ msgstr "nome file"
+
#~ msgid "color for backlog lines"
#~ msgstr "colore per la cronologia"
diff --git a/po/ja.po b/po/ja.po
index f98447d4f..e0ee6e202 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-09-22 18:54+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@@ -1643,16 +1643,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -3222,8 +3223,11 @@ msgstr "パレット色"
msgid "configuration files"
msgstr "設定ファイル"
-msgid "filename"
-msgstr "ファイル名"
+#, fuzzy
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
+"プロキシサーバのユーザ名 (注意: 値は評価されます、/help eval を参照してくださ"
+"い)"
msgid "names of filters"
msgstr "フィルタ名"
@@ -14217,5 +14221,8 @@ msgstr "%s%s: \"%s\" のタイムアウト %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: 接続できません: 未定義のエラー (%d)"
+#~ msgid "filename"
+#~ msgstr "ファイル名"
+
#~ msgid "color for backlog lines"
#~ msgstr "バックログ行の色"
diff --git a/po/pl.po b/po/pl.po
index 80aff2059..5ae510b6b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-09-22 18:54+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@@ -1678,16 +1678,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -3276,8 +3277,11 @@ msgstr "paleta kolorów"
msgid "configuration files"
msgstr "pliki konfiguracyjne"
-msgid "filename"
-msgstr "nazwa pliku"
+#, fuzzy
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
+"nazwa użytkownika dla serwera proxy (zawartość jest przetwarzana, zobacz /"
+"help eval)"
msgid "names of filters"
msgstr "nazwy filtrów"
@@ -14451,5 +14455,8 @@ msgstr "%s%s: przekroczono czas na \"%s\" z %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: nie można połączyć: niespodziewany błąd (%d)"
+#~ msgid "filename"
+#~ msgstr "nazwa pliku"
+
#~ msgid "color for backlog lines"
#~ msgstr "kolor linii backloga"
diff --git a/po/pt.po b/po/pt.po
index 358bb4933..b45ae64e7 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-09-22 18:54+0200\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@@ -1647,16 +1647,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -3219,8 +3220,11 @@ msgstr "paleta de cores"
msgid "configuration files"
msgstr "ficheiros de configuração"
-msgid "filename"
-msgstr "nome do ficheiro"
+#, fuzzy
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
+"nome do utilizador do servidor proxy (nota: o conteúdo é avaliado, ver /help "
+"eval)"
msgid "names of filters"
msgstr "nomes dos filtros"
@@ -14088,5 +14092,8 @@ msgstr "%s%s: tempo limite de \"%s\" com %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: não foi possível conectar: erro inesperado (%d)"
+#~ msgid "filename"
+#~ msgstr "nome do ficheiro"
+
#~ msgid "color for backlog lines"
#~ msgstr "cor das linhas do registo recente"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index c159b59a7..9d92eb611 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-05-13 21:32+0200\n"
"Last-Translator: Eduardo Elias <camponez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1651,16 +1651,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -2996,8 +2997,8 @@ msgstr "cores da palheta"
msgid "configuration files"
msgstr "arquivos de configuração"
-msgid "filename"
-msgstr "nome de arquivo"
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
msgid "names of filters"
msgstr "nomes dos filtros"
@@ -12657,6 +12658,9 @@ msgstr "%s%s: tempo esgotado para \"%s\" com %s"
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s%s: não foi possível conectar ao remetente"
+#~ msgid "filename"
+#~ msgstr "nome de arquivo"
+
#, fuzzy
#~ msgid "color for backlog lines"
#~ msgstr "cor de texto para valores"
diff --git a/po/ru.po b/po/ru.po
index e47345da9..efaa2dd06 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-05-13 21:32+0200\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1516,16 +1516,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -2483,9 +2484,8 @@ msgstr "Комбинации клавиш по умолчанию восстан
msgid "configuration files"
msgstr "перезагрузить конфигурационный файл сервера"
-#, fuzzy
-msgid "filename"
-msgstr "команда users отключена"
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
#, fuzzy
msgid "names of filters"
@@ -12213,5 +12213,9 @@ msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr "%s DCC: не могу соединиться с отправителем\n"
#, fuzzy
+#~ msgid "filename"
+#~ msgstr "команда users отключена"
+
+#, fuzzy
#~ msgid "color for backlog lines"
#~ msgstr "цвет отошедших ников"
diff --git a/po/tr.po b/po/tr.po
index d01f231e9..4e35404e9 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2019-05-13 21:32+0200\n"
"Last-Translator: Hasan Kiran <sunder67@hotmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1347,16 +1347,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -2237,8 +2238,8 @@ msgstr ""
msgid "configuration files"
msgstr "yapılandırma dosyaları"
-msgid "filename"
-msgstr "dosyaadı"
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
+msgstr ""
msgid "names of filters"
msgstr "filtrelerin isimleri"
@@ -11152,3 +11153,6 @@ msgstr ""
#, c-format
msgid "%s%s: unable to connect: unexpected error (%d)"
msgstr ""
+
+#~ msgid "filename"
+#~ msgstr "dosyaadı"
diff --git a/po/weechat.pot b/po/weechat.pot
index 5f2de5a9e..2dacbbae0 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2019-10-05 18:01+0200\n"
+"POT-Creation-Date: 2019-10-06 09:20+0200\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -1349,16 +1349,17 @@ msgid ""
" 7. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API reference\", function "
"\"color\")\n"
-" 9. an info (format: \"info:name,arguments\", arguments are optional)\n"
-" 10. current date/time (format: \"date\" or \"date:format\")\n"
-" 11. an environment variable (format: \"env:XXX\")\n"
-" 12. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
+" 9. a modifier (format: \"modifier:name,data,string\")\n"
+" 10. an info (format: \"info:name,arguments\", arguments are optional)\n"
+" 11. current date/time (format: \"date\" or \"date:format\")\n"
+" 12. an environment variable (format: \"env:XXX\")\n"
+" 13. a ternary operator (format: \"if:condition?value_if_true:value_if_false"
"\")\n"
-" 13. result of an expression with parentheses and operators + - * / // % ** "
+" 14. result of an expression with parentheses and operators + - * / // % ** "
"(format: \"calc:xxx\")\n"
-" 14. an option (format: \"file.section.option\")\n"
-" 15. a local variable in buffer\n"
-" 16. a hdata name/variable (the value is automatically converted to "
+" 15. an option (format: \"file.section.option\")\n"
+" 16. a local variable in buffer\n"
+" 17. a hdata name/variable (the value is automatically converted to "
"string), by default \"window\" and \"buffer\" point to current window/"
"buffer.\n"
"Format for hdata can be one of following:\n"
@@ -2233,7 +2234,7 @@ msgstr ""
msgid "configuration files"
msgstr ""
-msgid "filename"
+msgid "filename; optional argument: default path (evaluated, see /help eval)"
msgstr ""
msgid "names of filters"
diff --git a/src/core/wee-command.c b/src/core/wee-command.c
index c794bf8c6..f1d1b43bf 100644
--- a/src/core/wee-command.c
+++ b/src/core/wee-command.c
@@ -7359,17 +7359,18 @@ command_init ()
"\"lengthscr:xxx\")\n"
" 8. a color (format: \"color:xxx\", see \"Plugin API "
"reference\", function \"color\")\n"
- " 9. an info (format: \"info:name,arguments\", arguments are "
+ " 9. a modifier (format: \"modifier:name,data,string\")\n"
+ " 10. an info (format: \"info:name,arguments\", arguments are "
"optional)\n"
- " 10. current date/time (format: \"date\" or \"date:format\")\n"
- " 11. an environment variable (format: \"env:XXX\")\n"
- " 12. a ternary operator (format: "
+ " 11. current date/time (format: \"date\" or \"date:format\")\n"
+ " 12. an environment variable (format: \"env:XXX\")\n"
+ " 13. a ternary operator (format: "
"\"if:condition?value_if_true:value_if_false\")\n"
- " 13. result of an expression with parentheses and operators "
+ " 14. result of an expression with parentheses and operators "
"+ - * / // % ** (format: \"calc:xxx\")\n"
- " 14. an option (format: \"file.section.option\")\n"
- " 15. a local variable in buffer\n"
- " 16. a hdata name/variable (the value is automatically converted "
+ " 15. an option (format: \"file.section.option\")\n"
+ " 16. a local variable in buffer\n"
+ " 17. a hdata name/variable (the value is automatically converted "
"to string), by default \"window\" and \"buffer\" point to current "
"window/buffer.\n"
"Format for hdata can be one of following:\n"
diff --git a/src/core/wee-completion.c b/src/core/wee-completion.c
index e37b6186e..bc52d72ec 100644
--- a/src/core/wee-completion.c
+++ b/src/core/wee-completion.c
@@ -1,3 +1,4 @@
+
/*
* wee-completion.c - completion for WeeChat commands
*
@@ -36,6 +37,7 @@
#include "weechat.h"
#include "wee-arraylist.h"
#include "wee-config.h"
+#include "wee-eval.h"
#include "wee-hashtable.h"
#include "wee-hook.h"
#include "wee-list.h"
@@ -435,6 +437,7 @@ completion_list_add_filename_cb (const void *pointer, void *data,
char home[3] = { '~', DIR_SEPARATOR_CHAR, '\0' };
char *ptr_home, *pos, buf[PATH_MAX], *real_prefix, *prefix, *path_dir;
char *path_base, *dir_name;
+ const char *pos_args;
int length_path_base;
DIR *dp;
struct dirent *entry;
@@ -448,6 +451,10 @@ completion_list_add_filename_cb (const void *pointer, void *data,
completion->add_space = 0;
+ pos_args = strchr (completion_item, ':');
+ if (pos_args)
+ pos_args++;
+
ptr_home = getenv ("HOME");
real_prefix = NULL;
@@ -466,7 +473,18 @@ completion_list_add_filename_cb (const void *pointer, void *data,
if (!completion->base_word[0]
|| completion->base_word[0] != DIR_SEPARATOR_CHAR)
{
- real_prefix = strdup (weechat_home);
+ real_prefix = NULL;
+ if (pos_args && pos_args[0])
+ {
+ real_prefix = eval_expression (pos_args, NULL, NULL, NULL);
+ if (real_prefix && !real_prefix[0])
+ {
+ free (real_prefix);
+ real_prefix = NULL;
+ }
+ }
+ if (!real_prefix)
+ real_prefix = strdup (weechat_home);
prefix = strdup ("");
}
else
@@ -1714,7 +1732,9 @@ completion_init ()
N_("configuration files"),
&completion_list_add_config_files_cb, NULL, NULL);
hook_completion (NULL, "filename", /* formerly "%f" */
- N_("filename"),
+ N_("filename; "
+ "optional argument: default path (evaluated, "
+ "see /help eval)"),
&completion_list_add_filename_cb, NULL, NULL);
hook_completion (NULL, "filters_names", /* formerly "%F" */
N_("names of filters"),
diff --git a/src/core/wee-eval.c b/src/core/wee-eval.c
index 498f6a116..ab9cc8405 100644
--- a/src/core/wee-eval.c
+++ b/src/core/wee-eval.c
@@ -301,14 +301,15 @@ end:
* (format: lengthscr:xxx); color codes are ignored
* 9. a regex group captured (format: re:N (0.99) or re:+)
* 10. a color (format: color:xxx)
- * 11. an info (format: info:name,arguments)
- * 12. current date/time (format: date or date:xxx)
- * 13. an environment variable (format: env:XXX)
- * 14. a ternary operator (format: if:condition?value_if_true:value_if_false)
- * 15. calculate result of an expression (format: calc:xxx)
- * 16. an option (format: file.section.option)
- * 17. a buffer local variable
- * 18. a hdata variable (format: hdata.var1.var2 or hdata[list].var1.var2
+ * 11. a modifier (format: modifier:name,data,xxx)
+ * 12. an info (format: info:name,arguments)
+ * 13. current date/time (format: date or date:xxx)
+ * 14. an environment variable (format: env:XXX)
+ * 15. a ternary operator (format: if:condition?value_if_true:value_if_false)
+ * 16. calculate result of an expression (format: calc:xxx)
+ * 17. an option (format: file.section.option)
+ * 18. a buffer local variable
+ * 19. a hdata variable (format: hdata.var1.var2 or hdata[list].var1.var2
* or hdata[ptr].var1.var2)
*
* See /help in WeeChat for examples.
@@ -324,7 +325,7 @@ eval_replace_vars_cb (void *data, const char *text)
struct t_gui_buffer *ptr_buffer;
char str_value[512], *value, *pos, *pos1, *pos2, *hdata_name, *list_name;
char *tmp, *tmp2, *info_name, *hide_char, *hidden_string, *error;
- char *condition;
+ char *condition, *modifier_name, *modifier_data;
const char *ptr_value, *ptr_arguments, *ptr_string;
struct t_hdata *hdata;
void *pointer;
@@ -540,7 +541,31 @@ eval_replace_vars_cb (void *data, const char *text)
return strdup ((ptr_value) ? ptr_value : "");
}
- /* 11. info */
+ /* 11. modifier */
+ if (strncmp (text, "modifier:", 9) == 0)
+ {
+ value = NULL;
+ ptr_arguments = strchr (text + 9, ',');
+ if (!ptr_arguments)
+ return strdup ("");
+ ptr_arguments++;
+ ptr_string = strchr (ptr_arguments, ',');
+ if (!ptr_string)
+ return strdup ("");
+ ptr_string++;
+ modifier_name = string_strndup (text + 9, ptr_arguments - 1 - text - 9);
+ modifier_data = string_strndup (ptr_arguments,
+ ptr_string - 1 - ptr_arguments);
+ value = hook_modifier_exec (NULL, modifier_name, modifier_data,
+ ptr_string);
+ if (modifier_name)
+ free (modifier_name);
+ if (modifier_data)
+ free (modifier_data);
+ return (value) ? value : strdup ("");
+ }
+
+ /* 12. info */
if (strncmp (text, "info:", 5) == 0)
{
value = NULL;
@@ -560,7 +585,7 @@ eval_replace_vars_cb (void *data, const char *text)
return (value) ? value : strdup ("");
}
- /* 12. current date/time */
+ /* 13. current date/time */
if ((strncmp (text, "date", 4) == 0) && (!text[4] || (text[4] == ':')))
{
date = time (NULL);
@@ -573,7 +598,7 @@ eval_replace_vars_cb (void *data, const char *text)
return strdup ((rc > 0) ? str_value : "");
}
- /* 13. environment variable */
+ /* 14. environment variable */
if (strncmp (text, "env:", 4) == 0)
{
ptr_value = getenv (text + 4);
@@ -581,7 +606,7 @@ eval_replace_vars_cb (void *data, const char *text)
return strdup (ptr_value);
}
- /* 14: ternary operator: if:condition?value_if_true:value_if_false */
+ /* 15: ternary operator: if:condition?value_if_true:value_if_false */
if (strncmp (text, "if:", 3) == 0)
{
value = NULL;
@@ -649,7 +674,7 @@ eval_replace_vars_cb (void *data, const char *text)
}
/*
- * 15. calculate the result of an expression
+ * 16. calculate the result of an expression
* (with number, operators and parentheses)
*/
if (strncmp (text, "calc:", 5) == 0)
@@ -657,7 +682,7 @@ eval_replace_vars_cb (void *data, const char *text)
return calc_expression (text + 5);
}
- /* 16. option: if found, return this value */
+ /* 17. option: if found, return this value */
if (strncmp (text, "sec.data.", 9) == 0)
{
ptr_value = hashtable_get (secure_hashtable_data, text + 9);
@@ -690,7 +715,7 @@ eval_replace_vars_cb (void *data, const char *text)
}
}
- /* 17. local variable in buffer */
+ /* 18. local variable in buffer */
ptr_buffer = hashtable_get (eval_context->pointers, "buffer");
if (ptr_buffer)
{
@@ -699,7 +724,7 @@ eval_replace_vars_cb (void *data, const char *text)
return strdup (ptr_value);
}
- /* 18. hdata */
+ /* 19. hdata */
value = NULL;
hdata_name = NULL;
list_name = NULL;
diff --git a/src/plugins/irc/irc-command.c b/src/plugins/irc/irc-command.c
index d4ca47ede..31a78be44 100644
--- a/src/plugins/irc/irc-command.c
+++ b/src/plugins/irc/irc-command.c
@@ -6515,7 +6515,8 @@ irc_command_init ()
" send file \"/home/foo/bar.txt\" to nick \"toto\":\n"
" /dcc send toto /home/foo/bar.txt"),
"chat %(nicks)"
- " || send %(nicks) %(filename)",
+ " || send %(nicks) "
+ "%(filename:${modifier:eval_path_home,,${xfer.file.upload_path}})",
&irc_command_dcc, NULL, NULL);
weechat_hook_command (
"dehalfop",
diff --git a/src/plugins/plugin-api.c b/src/plugins/plugin-api.c
index 9001716ab..12d681565 100644
--- a/src/plugins/plugin-api.c
+++ b/src/plugins/plugin-api.c
@@ -352,8 +352,8 @@ plugin_api_command (struct t_weechat_plugin *plugin,
}
/*
- * Modifier to decode ANSI colors: convert ANSI color codes to WeeChat colors
- * (or removes them)
+ * Modifier callback: decodes ANSI colors: converts ANSI color codes to WeeChat
+ * colors (or removes them).
*/
char *
@@ -374,7 +374,8 @@ plugin_api_modifier_color_decode_ansi_cb (const void *pointer, void *data,
}
/*
- * Modifier to encode ANSI colors: convert WeeChat colors to ANSI color codes
+ * Modifier callback: encodes ANSI colors: converts WeeChat colors to ANSI
+ * color codes.
*/
char *
@@ -393,6 +394,25 @@ plugin_api_modifier_color_encode_ansi_cb (const void *pointer, void *data,
}
/*
+ * Modifier callback: evaluates a home path.
+ */
+
+char *
+plugin_api_modifier_eval_path_home_cb (const void *pointer, void *data,
+ const char *modifier,
+ const char *modifier_data,
+ const char *string)
+{
+ /* make C compiler happy */
+ (void) pointer;
+ (void) data;
+ (void) modifier;
+ (void) modifier_data;
+
+ return string_eval_path_home (string, NULL, NULL, NULL);
+}
+
+/*
* Moves item pointer to next item in an infolist.
*
* Returns:
@@ -543,6 +563,8 @@ plugin_api_init ()
&plugin_api_modifier_color_decode_ansi_cb, NULL, NULL);
hook_modifier (NULL, "color_encode_ansi",
&plugin_api_modifier_color_encode_ansi_cb, NULL, NULL);
+ hook_modifier (NULL, "eval_path_home",
+ &plugin_api_modifier_eval_path_home_cb, NULL, NULL);
/* WeeChat core info/infolist hooks */
plugin_api_info_init ();
diff --git a/tests/unit/core/test-core-eval.cpp b/tests/unit/core/test-core-eval.cpp
index 65b2e6fed..80476733e 100644
--- a/tests/unit/core/test-core-eval.cpp
+++ b/tests/unit/core/test-core-eval.cpp
@@ -392,6 +392,20 @@ TEST(CoreEval, EvalExpression)
WEE_CHECK_EVAL(str_value, "${color:irc.color.message_join}-test-");
WEE_CHECK_EVAL("test", "${option.not.found}test");
+ /* test modifier */
+ WEE_CHECK_EVAL("test_string", "test_${modifier:xxx,data,string}");
+ WEE_CHECK_EVAL("test_no_color",
+ "${modifier:color_decode_ansi,0,test_\x1B[92mno_color}");
+ snprintf (str_value, sizeof (str_value),
+ "test_%slightgreen",
+ gui_color_get_custom ("lightgreen"));
+ WEE_CHECK_EVAL(str_value,
+ "${modifier:color_decode_ansi,1,test_\x1B[92mlightgreen}");
+ snprintf (str_value, sizeof (str_value),
+ "${modifier:color_encode_ansi,,test_%slightgreen}",
+ gui_color_get_custom ("lightgreen"));
+ WEE_CHECK_EVAL("test_\x1B[92mlightgreen", str_value);
+
/* test info */
WEE_CHECK_EVAL(version_get_version (), "${info:version}");