Skip to content
Snippets Groups Projects
Commit f17968b5 authored by Bram Moolenaar's avatar Bram Moolenaar
Browse files

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)
parent 86f931e1
No related branches found
Tags v7.4b.020
No related merge requests found
......@@ -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 */
......
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
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,
/**/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment