Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-06-27 | core: check for newline characters in string_is_whitespace_char | Trygve Aaberge | |
This fixes a bug where if you had multiple lines in the input and pressed ctrl-w when the cursor was after the first word of any line but the first, it would delete both the word before the cursor and the last word on the preceding line. | |||
2023-05-05 | core: fix execution of multiple commands separated by newline when there are ↵ | Sébastien Helleu | |
no spaces For example typing this on core buffer: /t1 /t2 was not executing the two commands but sent the text to the buffer instead. This is because WeeChat thinks it's a path, and the newline should indicate it's not (like a space before the next slash: "/t1 /t2" is a command, not a path, but "/t1/t2" is considered a path). | |||
2023-01-30 | core: add function string_get_common_bytes_count (issue #1877) | Sébastien Helleu | |
2023-01-30 | core: add function string_levenshtein (issue #1877) | Sébastien Helleu | |
2023-01-29 | api: readjust string size in function string_dyn_free when string is not ↵ | Sébastien Helleu | |
freed (issue #1875) This frees some allocated memory if size_alloc was greater than size in the dynamic string. | |||
2023-01-28 | core: move function hook_get_priority_and_name to wee-string.c (issue #1872) | Sébastien Helleu | |
2023-01-01 | core: update copyright dates | Sébastien Helleu | |
2022-12-24 | api: add functions string_strcmp and string_strncmp | Sébastien Helleu | |
2022-12-24 | doc/api: mention "UTF-8" in char/string comparison functions | Sébastien Helleu | |
2022-12-24 | api: rename char comparison functions "utf8_char*" to "string_char*" | Sébastien Helleu | |
2022-12-24 | api: return arithmetic difference between chars in string comparison functions | Sé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-23 | api: fix function strcmp_ignore_chars with case sensitive comparison and ↵ | Sébastien Helleu | |
wide chars starting with the same byte | |||
2022-12-21 | core: 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-19 | core: return directly output of string_dyn_free without temporary variable | Sébastien Helleu | |
2022-12-18 | api: return newly allocated string in functions string_tolower and ↵ | Sébastien Helleu | |
string_toupper | |||
2022-12-18 | core: return number of bytes for UTF-8 char in function utf8_int_string | Sébastien Helleu | |
2022-12-10 | core: fix function string_cut when there are non printable chars in suffix | Sébastien Helleu | |
2022-11-05 | api: add function string_translate_chars | Sébastien Helleu | |
2022-10-08 | core: fix compilation warning on isdigit function | Sébastien Helleu | |
2022-09-27 | api: restrict number to integer in function string_parse_size | Sébastien Helleu | |
2022-09-27 | api: add function string_parse_size | Sébastien Helleu | |
2022-09-18 | core: add key alt+backspace, change behavior of key ctrl+w (closes #559) | Sébastien Helleu | |
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-07-20 | api: add arguments "index_start" and "index_end" in function ↵ | Sébastien Helleu | |
string_rebuild_split_string | |||
2022-07-20 | api: rename function string_build_with_split_string to ↵ | Sébastien Helleu | |
string_rebuild_split_string | |||
2022-02-19 | core: call strdup in string_strndup if bytes equals strlen of string | Sébastien Helleu | |
2022-01-17 | core: update copyright dates | Sébastien Helleu | |
2022-01-14 | core: rename argument "length" to "bytes" in function string_strndup | Sébastien Helleu | |
2021-07-04 | typing: add typing plugin | Sébastien Helleu | |
2021-06-22 | core: fix function string_match with joker in the string if multiple words ↵ | Sébastien Helleu | |
matched in input string Before fix: string_match("script.color.text_description", "*script*color*", 0) => 0 After fix: string_match("script.color.text_description", "*script*color*", 0) => 1 | |||
2021-05-29 | core, irc, script: fix typos | Sébastien Helleu | |
2021-05-11 | doc: add XDG directories support in docs (issue #1285) | Sébastien Helleu | |
2021-05-11 | core: split WeeChat home in 4 directories, use XDG directories by default ↵ | Sébastien Helleu | |
(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-01-02 | core: update copyright dates | Sébastien Helleu | |
2021-01-01 | doc: add note about call to "regfree" after call to "string_regcomp" (plugin ↵ | Sébastien Helleu | |
API reference) | |||
2020-08-23 | api: add argument "bytes" in function string_dyn_concat | Sébastien Helleu | |
2020-05-21 | core: move functions string_base_encode and string_base_decode from ↵ | Sébastien Helleu | |
plugin-api.c to wee-string.c | |||
2020-05-21 | core: return -1 in case of error in functions string_base16_decode and ↵ | Sébastien Helleu | |
string_base64_decode | |||
2020-03-01 | core: move crypto functions to wee-crypto.c, rename API function string_hash ↵ | Sébastien Helleu | |
to crypto_hash | |||
2020-03-01 | core: merge functions string_hash_binary and string_hash into a single ↵ | Sébastien Helleu | |
function string_hash | |||
2020-02-29 | core: add support of CRC32 algorithm in hash functions | Sébastien Helleu | |
2020-02-29 | api: add functions string_hash_binary and string_hash | Sébastien Helleu | |
2020-01-04 | core: update copyright dates | Sébastien Helleu | |
2019-10-12 | core: add reverse of string for screen in evaluation of expressions with ↵ | Sébastien Helleu | |
"revscr:" | |||
2019-09-17 | Fixed segfault during excessive evaluation. | Tobias Stoeckmann | |
It is possible to trigger a segmentation fault while processing an evaluation of repeating string. On a Linux 64 bit system, enter this (or adjust arguments for 32 bit accordingly): /eval -n ${repeat:1073741824,----} It will overflow an integer calculation because int instead of size_t is used. Proper check of int limitations fixes this issue. I haven't changed this specific piece of code to size_t because it would crash in other parts of the code tree instead. For now, int is a limitating factor when it comes to strings (and should be enough for sane use cases). Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> | |||
2019-06-15 | api: add argument "strip_items" in function string_split | Sébastien Helleu | |
2019-06-15 | core: check that string pointer is not NULL in function "string_shared_get" | Sébastien Helleu | |
2019-03-17 | core: fix typo: Weechat -> WeeChat | Sébastien Helleu | |
2019-03-10 | core: replace argument "keep_eol" by "flags" in function string_split ↵ | Sébastien Helleu | |
(closes #1322) | |||
2019-03-09 | core: add value -1 for keep_eol in function string_strip (issue #1322) | Sébastien Helleu | |
The value -1 means it's a standard split, but empty items are kept, and separators are not removed at beginning/end of string. | |||
2019-02-27 | api: add function string_match_list | Sébastien Helleu | |