patch 8.1.0573: cannot redefine user command without ! in same script
Problem: Cannot redefine user command without ! in same script
Solution: Allow redefining user command without ! in same script, like with
functions.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 9040c0d..99a06fc 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -5869,9 +5869,13 @@
if (cmp == 0)
{
- if (!force)
+ // Command can be replaced with "command!" and when sourcing the
+ // same script again, but only once.
+ if (!force && (cmd->uc_script_ctx.sc_sid != current_sctx.sc_sid
+ || cmd->uc_script_ctx.sc_seq == current_sctx.sc_seq))
{
- EMSG(_("E174: Command already exists: add ! to replace it"));
+ EMSG2(_("E174: Command already exists: add ! to replace it: %s"),
+ name);
goto fail;
}