patch 8.2.2603: Vim9: no effect if user command is also a function
Problem: Vim9: no effect if user command is also a function.
Solution: Check for paren following. (closes #7960)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c7b57ba..477d140 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3311,7 +3311,7 @@
find_ex_command(
exarg_T *eap,
int *full UNUSED,
- int (*lookup)(char_u *, size_t, cctx_T *) UNUSED,
+ int (*lookup)(char_u *, size_t, int cmd, cctx_T *) UNUSED,
cctx_T *cctx UNUSED)
{
int len;
@@ -3430,7 +3430,7 @@
|| *eap->cmd == '&'
|| *eap->cmd == '$'
|| *eap->cmd == '@'
- || lookup(eap->cmd, p - eap->cmd, cctx) == OK)
+ || lookup(eap->cmd, p - eap->cmd, TRUE, cctx) == OK)
{
eap->cmdidx = CMD_var;
return eap->cmd;
@@ -3449,7 +3449,7 @@
// 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, cctx) == OK
+ && (lookup(eap->cmd, p - eap->cmd, TRUE, cctx) == OK
|| (ASCII_ISALPHA(eap->cmd[0]) && eap->cmd[1] == ':')))
{
eap->cmdidx = CMD_eval;