patch 8.2.1080: Vim9: no line break allowed in a for loop

Problem:    Vim9: no line break allowed in a for loop.
Solution:   Skip line breaks in for command.
diff --git a/src/ex_eval.c b/src/ex_eval.c
index 6f6b8c2..fea8c7f 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -899,10 +899,16 @@
 
     CLEAR_FIELD(evalarg);
     evalarg.eval_flags = eap->skip ? 0 : EVAL_EVALUATE;
-    evalarg.eval_cookie = eap->getline == getsourceline ? eap->cookie : NULL;
+    if (getline_equal(eap->getline, eap->cookie, getsourceline))
+    {
+	evalarg.eval_getline = eap->getline;
+	evalarg.eval_cookie = eap->cookie;
+    }
 
     if (eval0(eap->arg, &tv, eap, &evalarg) == OK)
 	clear_tv(&tv);
+
+    clear_evalarg(&evalarg, eap);
 }
 
 /*
@@ -1108,7 +1114,16 @@
 	}
 	else
 	{
-	    void *fi;
+	    void	*fi;
+	    evalarg_T	evalarg;
+
+	    CLEAR_FIELD(evalarg);
+	    evalarg.eval_flags = skip ? 0 : EVAL_EVALUATE;
+	    if (getline_equal(eap->getline, eap->cookie, getsourceline))
+	    {
+		evalarg.eval_getline = eap->getline;
+		evalarg.eval_cookie = eap->cookie;
+	    }
 
 	    /*
 	     * ":for var in list-expr"
@@ -1119,11 +1134,14 @@
 		// previously evaluated list.
 		fi = cstack->cs_forinfo[cstack->cs_idx];
 		error = FALSE;
+
+		// the "in expr" is not used, skip over it
+		skip_for_lines(fi, &evalarg);
 	    }
 	    else
 	    {
 		// Evaluate the argument and get the info in a structure.
-		fi = eval_for_line(eap->arg, &error, eap, skip);
+		fi = eval_for_line(eap->arg, &error, eap, &evalarg);
 		cstack->cs_forinfo[cstack->cs_idx] = fi;
 	    }
 
@@ -1138,6 +1156,7 @@
 		free_for_info(fi);
 		cstack->cs_forinfo[cstack->cs_idx] = NULL;
 	    }
+	    clear_evalarg(&evalarg, eap);
 	}
 
 	/*