summaryrefslogtreecommitdiffstats
path: root/src/evalvars.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-27 15:19:27 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-27 15:19:27 +0200
commitcfcd011fcd8021da52fba62dabf7a2497f1879b7 (patch)
tree4b15ba4d18a6901feb2e0863e150cb0b3302fba5 /src/evalvars.c
parentc0e29010f68a0ebe439f9bd78493799c60b7bfd3 (diff)
patch 8.2.1756: Vim9: :let will soon be disallowedv8.2.1756
Problem: Vim9: :let will soon be disallowed. Solution: Add v:disallow_let temporarily. Fix tests.
Diffstat (limited to 'src/evalvars.c')
-rw-r--r--src/evalvars.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/evalvars.c b/src/evalvars.c
index 9aa6d6554a..319717ec89 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -146,6 +146,7 @@ static struct vimvar
{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_let(exarg_T *eap)
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;