0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.4319: :put does not work properly in compiled function

Problem:    :put does not work properly in compiled function. (John Beckett)
Solution:   Adjust the direction when using line zero.
This commit is contained in:
Bram Moolenaar
2022-02-07 15:31:37 +00:00
parent 54969f4ef5
commit 4e713bafc0
3 changed files with 14 additions and 1 deletions

View File

@@ -1156,7 +1156,13 @@ def Test_put_command()
:2put =['a', 'b', 'c']
assert_equal(['ppp', 'a', 'b', 'c', 'above'], getline(2, 6))
:0put ='first'
assert_equal('first', getline(1))
:1put! ='first again'
assert_equal('first again', getline(1))
# compute range at runtime
:%del
setline(1, range(1, 8))
@a = 'aaa'
:$-2put a

View File

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

View File

@@ -4617,7 +4617,12 @@ exec_instructions(ectx_T *ectx)
// :put! above cursor
dir = BACKWARD;
else if (lnum >= 0)
curwin->w_cursor.lnum = iptr->isn_arg.put.put_lnum;
{
curwin->w_cursor.lnum = lnum;
if (lnum == 0)
// check_cursor() below will move to line 1
dir = BACKWARD;
}
if (regname == '=')
{