Sébastien Helleu
89739421cf
core: fix comment on function eval_replace_vars_cb
2023-09-07 11:30:54 +02:00
Sébastien Helleu
58d61cb153
core: remove unused variable old_value
2023-08-29 09:53:08 +02:00
Sébastien Helleu
32f52ae236
core: check that property is not NULL before calling free
2023-08-29 09:52:17 +02:00
Sébastien Helleu
66cb9f6ea2
core: add option type "enum" ( closes #1973 )
...
The type "enum" replaces type "integer" when used with string values.
For compatibility, any option created with type "integer" and string values is
automatically created to "enum" on creation, with no error.
2023-07-08 13:28:40 +02:00
Sébastien Helleu
f604cf19c7
core: rename variable open_paren to pos_open_paren
2023-03-10 20:19:24 +01:00
Andrew Potter
e3f588679c
core: allow /eval to get hashtable properties
2023-03-10 20:19:03 +01:00
Sébastien Helleu
fa6a9bb934
api: readjust string size in function string_dyn_free when string is not freed (issue #1875 )
...
This frees some allocated memory if size_alloc was greater than size in the
dynamic string.
2023-01-29 12:41:19 +01:00
Sébastien Helleu
33bba784c3
core: update copyright dates
2023-01-01 14:54:35 +01:00
Sébastien Helleu
40339b288a
api: return newly allocated string in functions string_tolower and string_toupper
2022-12-18 14:28:58 +01:00
Sébastien Helleu
196a051141
core: add range of chars in evaluation of expressions with chars:xxx
2022-11-05 22:34:38 +01:00
Sébastien Helleu
51ed9ec93e
core: add case conversion in evaluation of expressions ( closes #1778 )
2022-04-18 13:46:16 +02:00
Sébastien Helleu
4068dc8da5
core: replace calls to strndup by string_strndup
2022-02-19 16:34:19 +01:00
Sébastien Helleu
c44b79dce7
core: update copyright dates
2022-01-17 18:41:06 +01:00
Sébastien Helleu
50edb33f1c
core: speed up eval by storing length of prefix/suffix in eval structure
2021-11-13 15:18:49 +01:00
Sébastien Helleu
1556e4ac5a
core: fix memory leak in evaluated expression "split:number,seps,flags,xxx" when multiple "strip_items" are given
2021-11-13 13:29:32 +01:00
Sébastien Helleu
253b25db03
core: fix random integer number with large range in evaluation of expressions on GNU/Hurd
2021-11-07 20:16:26 +01:00
Sébastien Helleu
a6826af796
core: add creation of user variables in evaluated expressions with ${define:name,value}
2021-09-20 21:15:28 +02:00
Sébastien Helleu
5b3929b321
api: add split of string and shell arguments in evaluation of expressions
...
Split of string: ${split:number,separators,flags,xxx}
Split of shell arguments: ${split_shell:number,xxx}
2021-09-06 13:32:04 +02:00
Sébastien Helleu
2de272ee6c
api: add "${re:repl_index}" to get the index of replacement in function string_eval_expression
2021-08-29 10:40:52 +02:00
Sébastien Helleu
d89c4f559c
api: add random integer number in evaluation of expressions with "random:min,max"
2021-08-03 19:46:41 +02:00
Sébastien Helleu
b21589944e
core, irc, script: fix typos
2021-05-29 14:33:13 +02:00
Sébastien Helleu
e5f58b77c1
core, buflist, irc, relay: replace freenode by libera in comments
2021-05-25 13:39:55 +02:00
Sébastien Helleu
5bce484c01
api: add translated string in evaluation of expressions with "translate:xxx" (issue #1622 )
2021-05-16 10:01:03 +02:00
Sébastien Helleu
0f9640a5f3
core: split WeeChat home in 4 directories, use XDG directories by default (issue #1285 )
...
The 4 directories (which can be the same):
- config: configuration files, certificates
- data: log/upgrade files, local plugins, scripts, xfer files
- cache: script repository, scripts downloaded (temporary location)
- runtime: FIFO pipe, relay UNIX sockets
2021-05-11 21:06:34 +02:00
Sébastien Helleu
3bf585ba04
core: evaluate left/right part of comparison after split on the comparison operator in ${if:xxx} ( closes #1627 )
...
To force evaluation of the expression before doing the comparison (less safe),
the "${eval_cond:xxx}" can be used.
With the old behavior we had:
>> ${if:a==b}
== [0]
>> ${if:${raw:a==b}}
== [0]
>> ${if:${eval_cond:${raw:a==b}}}
== [0]
And with the new behavior, we have:
>> ${if:a==b}
== [0]
>> ${if:${raw:a==b}}
== [1]
>> ${if:${eval_cond:${raw:a==b}}}
== [0]
2021-04-04 14:44:18 +02:00
Sébastien Helleu
4d96a3a84d
core: add pointer name in description of function eval_replace_vars_cb
2021-03-18 07:35:12 +01:00
Sébastien Helleu
8ee7d46605
api: add support of pointer names in function string_eval_expression (direct and in hdata)
...
These two formats are now supported, if "pointer_name" is present in the
"pointers" hashtable:
* "${pointer_name}": value of pointer (example: "0x1234abcd")
* ${buffer[pointer_name].full_name}: use of a pointer name instead of pointer
value or list name
2021-03-17 21:57:16 +01:00
Sébastien Helleu
a93e598c35
core: add raw string in evaluation of expressions with "raw:xxx" ( closes #1611 )
2021-02-05 20:07:16 +01:00
Sébastien Helleu
efc7a588d6
core: update copyright dates
2021-01-02 21:34:16 +01:00
Sébastien Helleu
470e3ef9cf
core: move debug_id assignation in macro EVAL_DEBUG_MSG
2021-01-02 14:43:40 +01:00
Sébastien Helleu
d413ccdf4f
core: add indentation and colors in /eval debug output
2021-01-01 17:08:59 +01:00
Sébastien Helleu
2ad3da03a2
core: display more verbose debug with two "-d" in command /eval
...
Now a single -d in command /eval shows less debug messages than previous
versions.
To get the same debug messages than previous versions, two -d must be used.
2020-12-31 20:37:43 +01:00
Sébastien Helleu
b626df72fb
core: add evaluation of conditions in evaluation of expressions with "eval_cond:" ( closes #1582 )
2020-11-14 09:28:46 +01:00
Sébastien Helleu
cfd221014c
api: add argument "bytes" in function string_dyn_concat
2020-08-23 23:27:57 +02:00
Sébastien Helleu
66d4590dab
core: add base 16/32/64 encoding/decoding in evaluation of expressions
2020-05-21 09:36:35 +02:00
Sébastien Helleu
8f308ea918
core: split function eval_replace_vars_cb into multiple functions
2020-05-20 00:04:45 +02:00
Sébastien Helleu
b1c3a29ac7
core: add include comparison operators in evaluation of expressions
...
New comparison operators:
- "==*": is matching mask, case sensitive (wildcard "*" is allowed)
- "!!*": is NOT matching mask, case sensitive (wildcard "*" is allowed)
- "==-": is included, case sensitive
- "!!-": is NOT included, case sensitive
- "=-": is included, case insensitive
- "!-": is NOT included, case insensitive
2020-05-05 20:43:45 +02:00
Sébastien Helleu
feb6258910
core: update copyright dates
2020-01-04 10:41:26 +01:00
Sébastien Helleu
e612e63140
core: fix evaluation of condition with nested "if" ( closes #1434 )
2019-12-18 21:22:36 +01:00
Sébastien Helleu
a13099aa63
core: add debug option "-d" in command /eval (issue #1434 )
2019-12-18 21:18:59 +01:00
Sébastien Helleu
8fc8f728d4
core: add reverse of string for screen in evaluation of expressions with "revscr:"
2019-10-12 20:14:36 +02:00
Sébastien Helleu
88aa82d672
core: add support of modifiers in evaluation of expressions with "modifier:name,data,string" (issue #60 )
2019-10-06 09:13:35 +02:00
Sébastien Helleu
e1a4612797
core: ignore color codes in ${length:xxx} and ${lengthscr:xxx}
2019-09-21 13:54:36 +02:00
Sébastien Helleu
dcfc4e8ed5
core: add "length:xxx" and "lengthscr:xxx" in evaluation of expressions
2019-09-21 07:56:21 +02:00
Sébastien Helleu
997894edc0
core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997 )
2019-09-20 21:37:01 +02:00
Sébastien Helleu
3d95217745
api: return allocated string in hook_info callback and function info_get
2019-04-13 08:42:45 +02:00
Sébastien Helleu
2b0057239b
core: update copyright dates
2019-01-01 15:40:51 +01:00
Sébastien Helleu
4712d0bb06
core: use https for links to GNU GPL license
2018-11-29 23:16:07 +01:00
Sébastien Helleu
8da3458f4c
core: add repeat of string in evaluation of expressions with "repeat:count,string" ( closes #958 )
2018-10-09 21:12:02 +02:00
Sébastien Helleu
82697714e1
core: fix evaluation of nested ternary operators ( closes #1263 )
2018-10-08 22:51:08 +02:00