patch 8.2.3414: fullcommand() gives wrong name with buffer-local user command
Problem: fullcommand() gives the wrong name if there is a buffer-local user
command. (Naohiro Ono)
Solution: Use a separate function to get the user command name.
(closes #8840)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c58c414..06bff80 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3895,8 +3895,8 @@
}
rettv->vval.v_string = vim_strsave(IS_USER_CMDIDX(ea.cmdidx)
- ? get_user_commands(NULL, ea.useridx)
- : cmdnames[ea.cmdidx].cmd_name);
+ ? get_user_command_name(ea.useridx, ea.cmdidx)
+ : cmdnames[ea.cmdidx].cmd_name);
}
#endif
@@ -5519,7 +5519,7 @@
get_command_name(expand_T *xp UNUSED, int idx)
{
if (idx >= (int)CMD_SIZE)
- return get_user_command_name(idx);
+ return expand_user_command_name(idx);
return cmdnames[idx].cmd_name;
}