Sébastien Helleu
9b47832a01
core: do not allocate strings in dir_search_full_lib_name_ext, check return code of snprintf
...
This removes three compiler warnings.
2023-01-08 18:24:28 +01:00
Sébastien Helleu
754ab33946
core: remove build with autotools
...
CMake is now the only way to build WeeChat.
2023-01-08 14:19:41 +01:00
Sébastien Helleu
3778ef0636
core: fix Curl version in comments
2023-01-04 22:23:33 +01:00
Sébastien Helleu
0ce0fa9f1f
api: add Curl options for versions 7.64.0 to 7.87.0
2023-01-03 23:21:44 +01:00
Sébastien Helleu
958f39cb95
core: fix crash or infinite loop in /allbuf command
...
A crash could occur if the command closes buffers.
An infinite loop could occur if the command creates new buffers.
2023-01-03 17:02:38 +01:00
Sébastien Helleu
189eb5dc40
core: add variable list_size to prevent computing arraylist size in each iteration
2023-01-03 17:01:52 +01:00
Sébastien Helleu
33bba784c3
core: update copyright dates
2023-01-01 14:54:35 +01:00
Sébastien Helleu
fce2fcba4f
core: add option weechat.look.chat_space_right (issue #1862 )
2022-12-29 12:00:28 +01:00
Sébastien Helleu
41fd26fe79
core: move /input buffer switch/zoom actions to command /buffer
...
Actions moved:
* `/input switch_active_buffer` -> `/buffer switch`
* `/input switch_active_buffer_previous` -> `/buffer switch -previous`
* `/input zoom_merged_buffer` -> `/buffer zoom`
2022-12-25 22:47:18 +01:00
Sébastien Helleu
0c29d4c5b6
core: move /input set_unread actions to commands /allbuf and /buffer set
...
Actions moved:
* `/input set_unread` -> `/allbuf /buffer set unread`
* `/input set_unread_current_buffer` -> `/buffer set unread`
2022-12-25 21:44:27 +01:00
Sébastien Helleu
2c238e08ff
core: add command /allbuf
2022-12-25 21:23:14 +01:00
Sébastien Helleu
2ad6f2f3d5
api: do not check hotlist add conditions when adding buffer in hotlist with function buffer_set
2022-12-25 20:35:10 +01:00
Sébastien Helleu
a9094fd2fa
core: add option add in command /hotlist
2022-12-25 19:40:57 +01:00
Sébastien Helleu
babe1e7a42
core: move /input hotlist actions to new command /hotlist
...
Actions moved to command `/hotlist`:
* `/input hotlist_clear` -> `/hotlist clear`
* `/input hotlist_remove_buffer` -> `/hotlist remove`
* `/input hotlist_restore_buffer` -> `/hotlist restore`
* `/input hotlist_restore_all` -> `/hotlist restore -all`
2022-12-25 18:50:57 +01:00
Sébastien Helleu
574a4c8834
core: add function gui_buffer_jump_last_visible_number
2022-12-25 17:57:59 +01:00
Sébastien Helleu
c9796a3141
core: move /input jump actions to command /buffer jump
...
Actions moved to command `/buffer jump`:
* `/input jump_smart` -> `/buffer jump smart`
* `/input jump_previously_visited_buffer` -> `/buffer jump prev_visited`
* `/input jump_next_visited_buffer` -> `/buffer jump next_visited`
* `/input jump_last_buffer_displayed` -> `/buffer jump last_displayed`
2022-12-25 17:00:37 +01:00
Sébastien Helleu
445b522498
core: fix typo in comment
2022-12-25 15:06:03 +01:00
Sébastien Helleu
f5135277af
core: remove useless conditions
2022-12-24 19:40:53 +01:00
Sébastien Helleu
21f3575016
api: add functions string_strcmp and string_strncmp
2022-12-24 18:29:35 +01:00
Sébastien Helleu
0dd1d4133b
doc/api: mention "UTF-8" in char/string comparison functions
2022-12-24 17:52:31 +01:00
Sébastien Helleu
a67556907d
api: rename char comparison functions "utf8_char*" to "string_char*"
2022-12-24 17:33:22 +01:00
Sébastien Helleu
083032972d
api: return arithmetic difference between chars in string comparison functions
...
Return code is changed for the following functions:
- string_strcasecmp
- string_strcasecmp_range
- string_strncasecmp
- string_strncasecmp_range
- string_strcmp_ignore_chars
- utf8_charcmp
- utf8_charcasecmp
- utf8_charcasecmp_range
2022-12-24 16:25:20 +01:00
Sébastien Helleu
5fc656a1b8
api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte
2022-12-23 23:20:29 +01:00
Sébastien Helleu
68b510517e
core: improve case convert and insensitive char comparisons ( closes #258 )
...
All lowercase letters are now properly converted to uppercase letters (and vice
versa), via functions `towupper` and `towlower`.
Functions `string_tolower`, `string_toupper` and `utf8_charcasecmp` have been
optimized to be faster when there are ASCII chars (< 128); functions are about
25-40% faster with mixed chars (both ASCII and multi-bytes).
Function `utf8_wide_char` has been removed, `utf8_char_int` can be used
instead.
2022-12-21 20:49:09 +01:00
Sébastien Helleu
95286c1eb3
core: remove unneeded casts
2022-12-19 13:01:33 +01:00
Sébastien Helleu
33b6adc3d3
core: fix call to string_toupper
2022-12-19 11:18:49 +01:00
Sébastien Helleu
42113ebc0f
core: return directly output of string_dyn_free without temporary variable
2022-12-19 07:04:33 +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
eb6cc0bc2a
core: return number of bytes for UTF-8 char in function utf8_int_string
2022-12-18 14:13:14 +01:00
Sébastien Helleu
18c9ade580
core: add whole string information in /debug unicode
2022-12-10 17:32:09 +01:00
Sébastien Helleu
5b9b1e175b
core: add color attributes "blink" and "dim" (half bright) ( closes #1855 )
2022-12-10 16:37:03 +01:00
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
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
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
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
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
193aa0448f
core: fix compilation warning on isdigit function
2022-10-08 12:18:09 +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
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