mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.4b.020
Problem: "g~ap" changes first character of next paragraph. (Manuel Ortega) Solution: Avoid subtracting (0 - 1) from todo. (Mike Williams)
This commit is contained in:
parent
86f931e1c3
commit
f17968b54a
@ -2429,8 +2429,13 @@ swapchars(op_type, pos, length)
|
||||
{
|
||||
# ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
{
|
||||
int len = (*mb_ptr2len)(ml_get_pos(pos));
|
||||
|
||||
/* we're counting bytes, not characters */
|
||||
todo -= (*mb_ptr2len)(ml_get_pos(pos)) - 1;
|
||||
if (len > 0)
|
||||
todo -= len - 1;
|
||||
}
|
||||
# endif
|
||||
did_change |= swapchar(op_type, pos);
|
||||
if (inc(pos) == -1) /* at end of file */
|
||||
|
@ -1,4 +1,5 @@
|
||||
Tests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)
|
||||
Also test "g~ap".
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
@ -88,6 +89,15 @@ ggdG
|
||||
:for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZ\xc2\x%.2XuVw', n)) | endfor
|
||||
:for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZ\xc2\x%.2XuVw', n)) | endfor
|
||||
:call append(0, printf('%d checks passed', b:passed))
|
||||
:"
|
||||
:" test that g~ap changes one paragraph only.
|
||||
:new
|
||||
iabcd
|
||||
|
||||
defggg0g~ap:let lns = getline(1,3)
|
||||
:q!
|
||||
:call append(line('$'), lns)
|
||||
:"
|
||||
:wq! test.out
|
||||
ENDTEST
|
||||
|
||||
|
@ -1,2 +1,5 @@
|
||||
3732 checks passed
|
||||
|
||||
ABCD
|
||||
|
||||
defg
|
||||
|
@ -727,6 +727,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
20,
|
||||
/**/
|
||||
19,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user