mirror of
https://github.com/neovim/neovim.git
synced 2025-10-08 10:56:31 +00:00
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:
@@ -2377,8 +2377,14 @@ findpar (
|
|||||||
++curr;
|
++curr;
|
||||||
curwin->w_cursor.lnum = curr;
|
curwin->w_cursor.lnum = curr;
|
||||||
if (curr == curbuf->b_ml.ml_line_count && what != '}') {
|
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;
|
||||||
|
curwin->w_cursor.col -=
|
||||||
|
(*mb_head_off)(line, line + curwin->w_cursor.col);
|
||||||
*pincl = true;
|
*pincl = true;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
|
@@ -2387,3 +2387,15 @@ func Test_changelist()
|
|||||||
%bwipe!
|
%bwipe!
|
||||||
let &ul = save_ul
|
let &ul = save_ul
|
||||||
endfunc
|
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
|
||||||
|
Reference in New Issue
Block a user