vim-patch:8.0.0523: dv} deletes part of a multi-byte character.

Problem:    dv} deletes part of a multi-byte character. (Urtica Dioica)
Solution:   Include the whole character.
bf3d58073f
This commit is contained in:
Jan Edmund Lazo 2018-06-07 19:33:42 -04:00
parent db68d1d638
commit 34c0688790
2 changed files with 33 additions and 15 deletions

View File

@ -2377,8 +2377,14 @@ findpar (
++curr;
curwin->w_cursor.lnum = curr;
if (curr == curbuf->b_ml.ml_line_count && what != '}') {
if ((curwin->w_cursor.col = (colnr_T)STRLEN(ml_get(curr))) != 0) {
char_u *line = ml_get(curr);
// Put the cursor on the last character in the last line and make the
// motion inclusive.
if ((curwin->w_cursor.col = (colnr_T)STRLEN(line)) != 0) {
--curwin->w_cursor.col;
curwin->w_cursor.col -=
(*mb_head_off)(line, line + curwin->w_cursor.col);
*pincl = true;
}
} else

View File

@ -2387,3 +2387,15 @@ func Test_changelist()
%bwipe!
let &ul = save_ul
endfunc
func Test_delete_until_paragraph()
if !has('multi_byte')
return
endif
new
normal grádv}
call assert_equal('á', getline(1))
normal grád}
call assert_equal('', getline(1))
bwipe!
endfunc