diff --git a/src/eval.c b/src/eval.c index 780ed9eca..efbcfaf51 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3377,7 +3377,10 @@ ex_call(eap) /* trans_function_name() doesn't work well when skipping, use eval0() * instead to skip to any following command, e.g. for: * :if 0 | call dict.foo().bar() | endif */ - eval0(eap->arg, &rettv, &eap->nextcmd, FALSE); + ++emsg_skip; + if (eval0(eap->arg, &rettv, &eap->nextcmd, FALSE) != FAIL) + clear_tv(&rettv); + --emsg_skip; return; } diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 9b5a5b164..3008a1d34 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -371,11 +371,9 @@ static void ex_tag_cmd __ARGS((exarg_T *eap, char_u *name)); # define ex_endif ex_ni # define ex_else ex_ni # define ex_while ex_ni -# define ex_for ex_ni # define ex_continue ex_ni # define ex_break ex_ni # define ex_endwhile ex_ni -# define ex_endfor ex_ni # define ex_throw ex_ni # define ex_try ex_ni # define ex_catch ex_ni diff --git a/src/version.c b/src/version.c index 3aa358f57..edf6aaab5 100644 --- a/src/version.c +++ b/src/version.c @@ -709,6 +709,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 329, /**/ 328, /**/