patch 8.2.1756: Vim9: :let will soon be disallowed
Problem: Vim9: :let will soon be disallowed.
Solution: Add v:disallow_let temporarily. Fix tests.
diff --git a/src/evalvars.c b/src/evalvars.c
index 9aa6d65..319717e 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -146,6 +146,7 @@
{VV_NAME("echospace", VAR_NUMBER), VV_RO},
{VV_NAME("argv", VAR_LIST), VV_RO},
{VV_NAME("collate", VAR_STRING), VV_RO},
+ {VV_NAME("disallow_let", VAR_NUMBER), 0}, // TODO: remove
};
// shorthand
@@ -734,6 +735,12 @@
ex_finally(eap);
return;
}
+ if (get_vim_var_nr(VV_DISALLOW_LET)
+ && eap->cmdidx == CMD_let && vim9script)
+ {
+ emsg(_(e_cannot_use_let_in_vim9_script));
+ return;
+ }
if (eap->cmdidx == CMD_const && !vim9script && !eap->forceit)
// In legacy Vim script ":const" works like ":final".
eap->cmdidx = CMD_final;