1
0
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:
Bram Moolenaar 2021-10-19 20:08:45 +01:00
parent 604e207e27
commit f47ebf1e1a
3 changed files with 15 additions and 1 deletions

View File

@ -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)

View File

@ -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

View File

@ -757,6 +757,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
3540,
/**/
3539,
/**/