forked from aniani/vim
patch 8.2.3540: the mark '] is wrong after put with a count
Problem: The mark '] is wrong after put with a count. (Naohiro Ono) Solution: Use the right line number. (closes #8956)
This commit is contained in:
parent
604e207e27
commit
f47ebf1e1a
@ -2183,7 +2183,7 @@ error:
|
||||
curbuf->b_op_start.lnum, nr_lines);
|
||||
|
||||
// put '] mark at last inserted character
|
||||
curbuf->b_op_end.lnum = lnum;
|
||||
curbuf->b_op_end.lnum = new_lnum;
|
||||
// correct length for change in indent
|
||||
col = (colnr_T)STRLEN(y_array[y_size - 1]) - lendiff;
|
||||
if (col > 1)
|
||||
|
@ -136,6 +136,18 @@ func Test_gp_with_count_leaves_cursor_at_end()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_p_with_count_leaves_mark_at_end()
|
||||
new
|
||||
call setline(1, '<---->')
|
||||
call setreg('@', "start\nend", 'c')
|
||||
normal 1G3|3p
|
||||
call assert_equal([0, 1, 4, 0], getpos("."))
|
||||
call assert_equal(['<--start', 'endstart', 'endstart', 'end-->'], getline(1, '$'))
|
||||
call assert_equal([0, 4, 3, 0], getpos("']"))
|
||||
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_very_large_count()
|
||||
" FIXME: should actually check if sizeof(int) == sizeof(long)
|
||||
CheckNotMSWindows
|
||||
|
@ -757,6 +757,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3540,
|
||||
/**/
|
||||
3539,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user