summaryrefslogtreecommitdiff
path: root/src/vim9execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vim9execute.c')
-rw-r--r--src/vim9execute.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 6c79ff7df..961e4507c 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -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 == '=')
{