patch 8.2.2066: Vim9: assignment with += doesn't work
Problem: Vim9: assignment with += doesn't work.
Solution: Do not see the "+" as an addition operator.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index a06e8a8..d530c08 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3332,9 +3332,13 @@
// When followed by "=" or "+=" then it is an assignment.
++emsg_silent;
- if (skip_expr(&after, NULL) == OK
- && (*after == '='
- || (*after != NUL && after[1] == '=')))
+ if (skip_expr(&after, NULL) == OK)
+ after = skipwhite(after);
+ else
+ after = (char_u *)"";
+ if (*after == '=' || (*after != NUL && after[1] == '=')
+ || (after[0] == '.' && after[1] == '.'
+ && after[2] == '='))
eap->cmdidx = CMD_var;
else
eap->cmdidx = CMD_eval;