patch 8.2.1502: Vim9: can use += with a :let command at script level
Problem: Vim9: can use += with a :let command at script level.
Solution: Give an error.
diff --git a/src/evalvars.c b/src/evalvars.c
index bff6086..335f850 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -786,7 +786,13 @@
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;