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;
|
||||
curwin->w_cursor = oap->start;
|
||||
}
|
||||
if (has_mbyte)
|
||||
mb_adjust_opend(oap);
|
||||
}
|
||||
|
||||
if (oap->line_count == 1) /* delete characters within one line */
|
||||
|
@@ -73,3 +73,12 @@ func Test_edit_CTRL_G()
|
||||
bwipe!
|
||||
set virtualedit=
|
||||
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[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2235,
|
||||
/**/
|
||||
2234,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user