forked from aniani/vim
patch 8.1.2235: "C" with 'virtualedit' set does not include multi-byte char
Problem: "C" with 'virtualedit' set does not include multi-byte char. Solution: Include the whole multi-byte char. (Nobuhiro Takasaki, closes #5152)
This commit is contained in:
@@ -912,6 +912,8 @@ op_delete(oparg_T *oap)
|
|||||||
oap->end = curwin->w_cursor;
|
oap->end = curwin->w_cursor;
|
||||||
curwin->w_cursor = oap->start;
|
curwin->w_cursor = oap->start;
|
||||||
}
|
}
|
||||||
|
if (has_mbyte)
|
||||||
|
mb_adjust_opend(oap);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oap->line_count == 1) /* delete characters within one line */
|
if (oap->line_count == 1) /* delete characters within one line */
|
||||||
|
@@ -73,3 +73,12 @@ func Test_edit_CTRL_G()
|
|||||||
bwipe!
|
bwipe!
|
||||||
set virtualedit=
|
set virtualedit=
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_edit_change()
|
||||||
|
new
|
||||||
|
set virtualedit=all
|
||||||
|
call setline(1, "\t⒌")
|
||||||
|
normal Cx
|
||||||
|
call assert_equal('x', getline(1))
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2235,
|
||||||
/**/
|
/**/
|
||||||
2234,
|
2234,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user