patch 8.2.2453: Vim9: a variable name with "->" in the next line doesn't work
Problem: Vim9: a variable name with "->" in the next line doesn't work.
Solution: Recognize a variable name by itself. (closes #7770)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 8b9db68..d31b56c 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3424,6 +3424,16 @@
return eap->cmd;
}
}
+
+ // If it is an ID it might be a variable with an operator on the next
+ // line, if the variable exists it can't be an Ex command.
+ if (p > eap->cmd && ends_excmd(*skipwhite(p))
+ && (lookup(eap->cmd, p - eap->cmd, NULL, cctx) == OK
+ || (ASCII_ISALPHA(eap->cmd[0]) && eap->cmd[1] == ':')))
+ {
+ eap->cmdidx = CMD_eval;
+ return eap->cmd;
+ }
}
#endif