patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Problem: Vim9: expressions are evaluated in the discovery phase.
Solution: Bail out if an expression is not a constant. Require a type for
declared constants.
diff --git a/src/ex_eval.c b/src/ex_eval.c
index 4aa2658..f725343 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -879,7 +879,8 @@
{
typval_T tv;
- if (eval0(eap->arg, &tv, &eap->nextcmd, !eap->skip) == OK)
+ if (eval0(eap->arg, &tv, &eap->nextcmd, eap->skip ? 0 : EVAL_EVALUATE)
+ == OK)
clear_tv(&tv);
}