patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Problem: Vim9: 'statusline' is evaluated using Vim9 script syntax.
Solution: Always use legacy script syntax.
diff --git a/src/eval.c b/src/eval.c
index 07b30c7..984835b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -520,6 +520,7 @@
/*
* Call eval_to_string() without using current local variables and using
* textwinlock. When "use_sandbox" is TRUE use the sandbox.
+ * Use legacy Vim script syntax.
*/
char_u *
eval_to_string_safe(
@@ -528,7 +529,9 @@
{
char_u *retval;
funccal_entry_T funccal_entry;
+ int save_sc_version = current_sctx.sc_version;
+ current_sctx.sc_version = 1;
save_funccal(&funccal_entry);
if (use_sandbox)
++sandbox;
@@ -538,6 +541,7 @@
--sandbox;
--textwinlock;
restore_funccal();
+ current_sctx.sc_version = save_sc_version;
return retval;
}