patch 8.2.4667: expandcmd() fails on an error
Problem: expandcmd() fails on an error.
Solution: On failure return the command unmodified. (yegappan Lakshmanan,
closes #10063)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 39a2fd2..60ca50a 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4168,9 +4168,9 @@
eap.nextcmd = NULL;
eap.cmdidx = CMD_USER;
+ ++emsg_off;
expand_filename(&eap, &cmdstr, &errormsg);
- if (errormsg != NULL && *errormsg != NUL)
- emsg(errormsg);
+ --emsg_off;
rettv->vval.v_string = cmdstr;
}
@@ -4444,8 +4444,7 @@
arg_idx = 0;
else if (list->lv_len > MAX_FUNC_ARGS)
{
- emsg_funcname((char *)e_too_many_arguments_for_function_str,
- s);
+ emsg_funcname(e_too_many_arguments_for_function_str, s);
vim_free(name);
goto theend;
}