Sébastien Helleu
ef842c5e62
core: fix function string_cut when there are non printable chars in suffix
2022-12-10 16:05:14 +01:00
Sébastien Helleu
f1cfd6f73f
core: do not display non printable chars, fix function utf8_char_size_screen
...
Now the function utf8_char_size_screen can return -1 when the char is not
printable.
It has a specific behavior for some chars:
- U+0009: value of option weechat.look.tab_width
- U+0001 to U+001F (except U+0009): 1
- U+00AD (soft hyphen): -1
- U+200B (zero width space): -1
2022-12-10 16:05:14 +01:00
Sébastien Helleu
d18f68e497
core: display chars < 32 with a letter/symbol and reverse video attribute in chat
2022-12-10 16:05:14 +01:00
Sébastien Helleu
6ac730cd0b
core: toggle reverse video attribute in bars for chars < 32 only if not already enabled
2022-12-10 16:05:14 +01:00
Sébastien Helleu
f63dba67f2
core: expand tabulations as spaces in bars
2022-12-10 16:05:14 +01:00
Sébastien Helleu
855d80702e
core: replace call to memcpy by utf8_strncpy
2022-12-10 16:05:14 +01:00
Sébastien Helleu
71ae8f1907
api: add function utf8_strncpy
2022-12-10 16:05:14 +01:00
Sébastien Helleu
e5cbbd781d
core: optimize and fix function utf8_strlen_screen with non printable chars
...
When there non printable chars, the return of the function was 1.
For example utf8_strlen_screen("abc\x01") now returns 4 instead of 1.
In addition the function has been optimized to not use the `mbstowcs` function
which is slow; result is up to 15% faster.
2022-12-10 16:05:14 +01:00
Sébastien Helleu
0e6677fbcb
core: add result of utf8_char_size_screen in /debug unicode
2022-12-10 16:05:14 +01:00
Sébastien Helleu
55569c182a
core: display hex codepoint before integer codepoint in /debug unicode
2022-12-03 10:15:18 +01:00
Sébastien Helleu
f7f13352d7
core: remove useless call to mbstowcs in function debug_unicode_char
2022-12-03 10:14:30 +01:00
Sébastien Helleu
baab9cc7c5
core: add option unicode in command /debug
2022-11-21 20:45:41 +01:00
Sébastien Helleu
a8639969c5
core: reorder sub-commands in /debug command callback
2022-11-20 13:55:21 +01:00
Sébastien Helleu
8d40273111
core: fix typo in comment
2022-11-20 09:33:40 +01:00
Sébastien Helleu
b636f55b8b
trigger: properly initialize variable "value" to NULL
2022-11-19 20:29:02 +01:00
Sébastien Helleu
bab73cfaa5
core: add identifier in buffer lines ( closes #901 )
...
For buffers with formatted content, the "id" starts to 0 on each buffer and is
incremented on each new line displayed (it is reset to 0 if reaching INT_MAX).
For buffers with free content, the "id" is set to the same value as "y" (ie the
line number, starting to 0).
2022-11-11 09:42:20 +01:00
Sébastien Helleu
24665ae878
core: add signals "buffer_user_{input|closing}_xxx" for buffers created with /buffer add ( closes #1848 )
2022-11-08 20:34:04 +01:00
Sébastien Helleu
55b5549054
trigger: display failing regex in trigger creation error
2022-11-06 09:14:18 +01:00
Sébastien Helleu
b2605902db
trigger: use explicit command "s" in regex of default triggers
2022-11-06 09:14:18 +01:00
Sébastien Helleu
7555993bbc
trigger: add regex command "y" to translate chars, set default regex command to "s" (regex replace) ( closes #1510 )
2022-11-06 09:14:14 +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
bc2fb071e2
api: add function string_translate_chars
2022-11-05 22:34:38 +01:00
Trygve Aaberge
6f1635ae4e
core: Prevent use of uninitialized memory when setting invalid color
...
If a color option value is null and is tried being set to an invalid
color, the value was set to uninitialized memory which can lead to a
segfault.
Can be reproduced with this script:
https://gist.github.com/trygveaa/6ddb3a52f525a7fd8e0908bafa83e07c
The option doesn't have to be set from a script, it also happens with
the /set command.
2022-10-23 19:00:29 +02:00
Sébastien Helleu
cf5a9a0db5
trigger: execute trigger command on appropriate buffer ( closes #1841 )
...
This affects the following hook types:
- command
- command_run
- line
- modifier
- print
This fixes a regression introduced in WeeChat 3.7 by commit
0f67f55098 .
2022-10-20 20:19:37 +02:00
Sébastien Helleu
d79b106361
python: remove functions defined for Python < 2.6
2022-10-16 09:00:37 +02:00
Sébastien Helleu
319abf4fd0
python: remove support of Python 2.x
2022-10-15 22:56:06 +02:00
Sébastien Helleu
56dbd871ea
api: do not expect any return value in callbacks change/delete of config_new_option (scripting API)
2022-10-15 21:46:00 +02:00
Trygve Aaberge
ec11126246
python: Fix return types for config option callbacks
...
I erroneously typed the return types for these to int in commit
e0c117e14 , but they should be None.
2022-10-14 23:00:33 +02:00
Latchezar Tzvetkoff
8765eb3b71
Allow terminal title to be left unchanged.
...
Fixes #1835 .
2022-10-14 22:42:21 +02:00
Sébastien Helleu
6619c421aa
irc: escape backslashes in raw buffer ( closes #1838 )
2022-10-12 21:43:03 +02:00
Sébastien Helleu
7d2e8b9143
core: allow command /toggle to create option before setting the value, if allowed in the section ( closes #1837 )
2022-10-12 21:29:38 +02:00
Sébastien Helleu
f97b74cae8
core: fix context info in buffers with free content ( closes #1832 )
2022-10-10 20:24:58 +02:00
Trygve Aaberge
6096350618
python: Include script examples in function docstring
...
This makes it possible to see how functions are used without having to
go to the web page. It's especially useful to see the types of the
callback functions.
2022-10-09 19:01:16 +02:00
Sébastien Helleu
193aa0448f
core: fix compilation warning on isdigit function
2022-10-08 12:18:09 +02:00
Sébastien Helleu
3932cf5a00
xfer: add missing include of netinet/in.h
...
This fixes compilation on FreeBSD 13.0.
2022-10-08 12:11:12 +02:00
Sébastien Helleu
1fec7e8856
core: fix page scroll in bare display ( closes #1830 )
2022-10-05 20:33:35 +02:00
Trygve Aaberge
236d22e364
python: Include constant values in python stub
...
This is useful for two reasons:
1. When running unit tests for a script weechat needs to be mocked. By
having the constant values available in the stub file, they can be
loaded from that, instead of having to define the constants manually
for the mock.
2. If you log a constant value you have to look up what it means. This
makes it easier, in the same vein as PR #1824 .
2022-10-02 20:25:17 +02:00
Sébastien Helleu
4d3a3c67ac
irc: set local variable "filter" when doing /server raw xxx with raw buffer already opened ( closes #1448 )
2022-10-01 17:06:31 +02:00
Sébastien Helleu
ae61137216
trigger: add variable ${tg_hook_type} ( closes #1765 )
2022-09-30 21:32:27 +02:00
Sébastien Helleu
92cdcee8f6
api: change type of argument object_id in upgrade_new callback from string to integer (in scripts)
2022-09-29 21:38:04 +02:00
Sébastien Helleu
b2b110f1a3
api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts)
2022-09-29 21:21:01 +02:00
Sébastien Helleu
fd43ad6387
core: fix compilation with zstd < 1.4.0
...
Note: zstd ≥ 0.8.1 is now required to compile WeeChat.
2022-09-29 15:59:01 +02:00
Sébastien Helleu
486df38a8d
php: add missing arginfo_weechat_string_parse_size in legacy arginfo
2022-09-29 07:48:55 +02:00
Sébastien Helleu
7711ed95c5
logger: add options to rotate and compress log files ( closes #314 )
...
New options:
- logger.file.rotation_compression_level
- logger.file.rotation_compression_type
- logger.file.rotation_size_max
2022-09-28 20:52:59 +02:00
Sébastien Helleu
26e6fdc645
api: add function file_compress
2022-09-27 20:49:12 +02:00
Sébastien Helleu
e7b6e8c60f
api: restrict number to integer in function string_parse_size
2022-09-27 15:50:43 +02:00
Sébastien Helleu
4d74a89cfc
api: add function string_parse_size
2022-09-27 15:50:43 +02:00
Sébastien Helleu
34c043453b
irc: fix use of uninitialized variable ptr_nick
2022-09-26 21:21:27 +02:00
Sébastien Helleu
01cf98e8fb
core: add key alt+backspace, change behavior of key ctrl+w ( closes #559 )
...
The key ctrl+w now deletes one word until whitespace.
The new key alt+backspace deletes one word (same behavior as ctrl+w in previous
releases).
2022-09-18 23:26:49 +02:00
Sébastien Helleu
389f9f436b
trigger: escape arguments with double quotes in output of /trigger input|output|recreate ( closes #190 )
2022-09-18 17:44:05 +02:00