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 == '=')
 		    {