patch 9.1.0199: Not enough tests for the slice() function
Problem: Not enough tests for the slice() function.
Solution: Test with multibyte chars, and in both Legacy and Vim9 script.
Update docs to be clearer about how it treats composing chars.
(zeertzjq)
closes: #14275
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
d990bf08d8
commit
ad38769030
@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2024 Mar 14
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2024 Mar 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -9068,7 +9068,8 @@ slice({expr}, {start} [, {end}]) *slice()*
|
||||
Similar to using a |slice| "expr[start : end]", but "end" is
|
||||
used exclusive. And for a string the indexes are used as
|
||||
character indexes instead of byte indexes, like in
|
||||
|vim9script|. Also, composing characters are not counted.
|
||||
|vim9script|. Also, composing characters are treated as a
|
||||
part of the preceding base character.
|
||||
When {end} is omitted the slice continues to the last item.
|
||||
When {end} is -1 the last item is omitted.
|
||||
Returns an empty value if {start} or {end} are invalid.
|
||||
@ -9465,8 +9466,8 @@ strcharpart({src}, {start} [, {len} [, {skipcc}]]) *strcharpart()*
|
||||
of byte index and length.
|
||||
When {skipcc} is omitted or zero, composing characters are
|
||||
counted separately.
|
||||
When {skipcc} set to 1, Composing characters are ignored,
|
||||
similar to |slice()|.
|
||||
When {skipcc} set to 1, composing characters are treated as a
|
||||
part of the preceding base character, similar to |slice()|.
|
||||
When a character index is used where a character does not
|
||||
exist it is omitted and counted as one character. For
|
||||
example: >
|
||||
@ -9484,7 +9485,7 @@ strchars({string} [, {skipcc}]) *strchars()*
|
||||
in String {string}.
|
||||
When {skipcc} is omitted or zero, composing characters are
|
||||
counted separately.
|
||||
When {skipcc} set to 1, Composing characters are ignored.
|
||||
When {skipcc} set to 1, composing characters are ignored.
|
||||
|strcharlen()| always does this.
|
||||
|
||||
Returns zero on error.
|
||||
|
||||
Reference in New Issue
Block a user