patch 8.2.1047: Vim9: script cannot use line continuation like :def function
Problem: Vim9: script cannot use line continuation like in a :def function.
Solution: Pass the getline function pointer to the eval() functions. Use it
for addition and multiplication operators.
diff --git a/src/structs.h b/src/structs.h
index ce9dfbc..3a9bbd3 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1746,6 +1746,19 @@
# endif
} scriptitem_T;
+// Struct passed through eval() functions.
+// See EVALARG_EVALUATE for a fixed value with eval_flags set to EVAL_EVALUATE.
+typedef struct {
+ int eval_flags; // EVAL_ flag values below
+
+ // copied from exarg_T when "getline" is "getsourceline". Can be NULL.
+ void *eval_cookie; // argument for getline()
+} evalarg_T;
+
+// Flags for expression evaluation.
+#define EVAL_EVALUATE 1 // when missing don't actually evaluate
+#define EVAL_CONSTANT 2 // when not a constant return FAIL
+
# ifdef FEAT_PROFILE
/*
* Struct used in sn_prl_ga for every line of a script.