diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-08-21 21:32:50 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-08-21 21:32:50 +0200 |
commit | 122616d9c1b57f1e1f29f1151f8e26d24df9092a (patch) | |
tree | 456ee75b2ecfea48e8842a1667a84741507313bc /src/evalvars.c | |
parent | 3fc71285d5ae7c16cf7be5d997fd1fe140f196da (diff) |
patch 8.2.1502: Vim9: can use += with a :let command at script levelv8.2.1502
Problem: Vim9: can use += with a :let command at script level.
Solution: Give an error.
Diffstat (limited to 'src/evalvars.c')
-rw-r--r-- | src/evalvars.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/evalvars.c b/src/evalvars.c index bff6086e53..335f850bf7 100644 --- a/src/evalvars.c +++ b/src/evalvars.c @@ -786,7 +786,13 @@ ex_let(exarg_T *eap) op[1] = NUL; if (*expr != '=') { - if (vim_strchr((char_u *)"+-*/%.", *expr) != NULL) + if (vim9script && (flags & LET_NO_COMMAND) == 0) + { + // +=, /=, etc. require an existing variable + semsg(_(e_cannot_use_operator_on_new_variable), eap->arg); + i = FAIL; + } + else if (vim_strchr((char_u *)"+-*/%.", *expr) != NULL) { op[0] = *expr; // +=, -=, *=, /=, %= or .= ++len; |