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.
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 6c79ff7..961e450 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -4617,7 +4617,12 @@
// :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 == '=')
{