summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-12-25core: fix typo in commentSébastien Helleu
2022-12-24core: remove useless conditionsSébastien Helleu
2022-12-24api: add functions string_strcmp and string_strncmpSébastien Helleu
2022-12-24doc/api: mention "UTF-8" in char/string comparison functionsSébastien Helleu
2022-12-24api: rename char comparison functions "utf8_char*" to "string_char*"Sébastien Helleu
2022-12-24api: return arithmetic difference between chars in string comparison functionsSébastien Helleu
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-23api: fix function strcmp_ignore_chars with case sensitive comparison and ↵Sébastien Helleu
wide chars starting with the same byte
2022-12-21core: improve case convert and insensitive char comparisons (closes #258)Sébastien Helleu
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-19core: remove unneeded castsSébastien Helleu
2022-12-19irc: fix calls to weechat_string_toupperSébastien Helleu
2022-12-19core: fix call to string_toupperSébastien Helleu
2022-12-19spell: return directly output of string_dyn_free without temporary variableSébastien Helleu
2022-12-19irc: return directly output of string_dyn_free without temporary variableSébastien Helleu
2022-12-19core: return directly output of string_dyn_free without temporary variableSébastien Helleu
2022-12-18api: return newly allocated string in functions string_tolower and ↵Sébastien Helleu
string_toupper
2022-12-18core: return number of bytes for UTF-8 char in function utf8_int_stringSébastien Helleu
2022-12-18core: remove unused argument "pos" from function gui_input_insert_string, ↵Sébastien Helleu
add tests on function
2022-12-17core: simplify gui input functions by returning immediately if condition not metSébastien Helleu
2022-12-17irc: do not join channels in server autojoin option after reconnection to ↵Sébastien Helleu
the server (closes #560, bug #21529)
2022-12-11doc/api: Improve python example for config_new_sectionTrygve Aaberge
This updates the Python examples to include all the possible return values for the callbacks in config_new_section, like it is done in the C example. It also aligns the order of the values with the C example.
2022-12-11scripts: Send null values to config section callbacksTrygve Aaberge
The callback_read and callback_create_option functions in the scripting APIs always get the value as a string, never as null. This means that if the value is null, there is no way for the script to distinguish this from an empty string for string options. This makes it impossible to properly make options with fallback values, like the irc server and server_default options, as far as I can see. All the scripting languages except Tcl use that language's equivalent for null. For JavaScript which has both null and undefined, null is used. For Tcl, the magic null string defined in commit 197a7a01e is used and the documentation is updated to describe that. I tested this with these scripts: https://gist.github.com/trygveaa/2d49c609addf9773d2ed16e15d1e3447 You can load all of those scripts and see the result with this command (assuming you have the scripts in the current directory): weechat -t -r "/filter add script * * script; /script load $(echo script_config.*)"
2022-12-10trigger: fix variables sent to focus callback (closes #1858)Sébastien Helleu
This fixes a regression introduced in WeeChat 3.7 by commit 0f67f55098db564c82c848262540704985790129.
2022-12-10core: add whole string information in /debug unicodeSébastien Helleu
2022-12-10core: add color attributes "blink" and "dim" (half bright) (closes #1855)Sébastien Helleu
2022-12-10core: fix function string_cut when there are non printable chars in suffixSébastien Helleu
2022-12-10core: do not display non printable chars, fix function utf8_char_size_screenSébastien Helleu
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-10core: display chars < 32 with a letter/symbol and reverse video attribute in ↵Sébastien Helleu
chat
2022-12-10core: toggle reverse video attribute in bars for chars < 32 only if not ↵Sébastien Helleu
already enabled
2022-12-10core: expand tabulations as spaces in barsSébastien Helleu
2022-12-10core: replace call to memcpy by utf8_strncpySébastien Helleu
2022-12-10api: add function utf8_strncpySébastien Helleu
2022-12-10core: optimize and fix function utf8_strlen_screen with non printable charsSébastien Helleu
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-10core: add result of `utf8_char_size_screen` in /debug unicodeSébastien Helleu
2022-12-03core: display hex codepoint before integer codepoint in /debug unicodeSébastien Helleu
2022-12-03core: remove useless call to mbstowcs in function debug_unicode_charSébastien Helleu
2022-11-21core: add option `unicode` in command `/debug`Sébastien Helleu
2022-11-20core: reorder sub-commands in /debug command callbackSébastien Helleu
2022-11-20core: fix typo in commentSébastien Helleu
2022-11-19trigger: properly initialize variable "value" to NULLSébastien Helleu
2022-11-11core: add identifier in buffer lines (closes #901)Sébastien Helleu
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-08core: add signals "buffer_user_{input|closing}_xxx" for buffers created with ↵Sébastien Helleu
`/buffer add` (closes #1848)
2022-11-06trigger: display failing regex in trigger creation errorSébastien Helleu
2022-11-06trigger: use explicit command "s" in regex of default triggersSébastien Helleu
2022-11-06trigger: add regex command "y" to translate chars, set default regex command ↵Sébastien Helleu
to "s" (regex replace) (closes #1510)
2022-11-05core: add range of chars in evaluation of expressions with `chars:xxx`Sébastien Helleu
2022-11-05api: add function string_translate_charsSébastien Helleu
2022-10-23core: Prevent use of uninitialized memory when setting invalid colorTrygve Aaberge
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-20trigger: execute trigger command on appropriate buffer (closes #1841)Sébastien Helleu
This affects the following hook types: - command - command_run - line - modifier - print This fixes a regression introduced in WeeChat 3.7 by commit 0f67f55098db564c82c848262540704985790129.
2022-10-16python: remove functions defined for Python < 2.6Sébastien Helleu
2022-10-15python: remove support of Python 2.xSébastien Helleu