updated for version 7.3.329
Problem: When skipping over code from ":for" to ":endfor" get an error for
calling a dict function. (Yasuhiro Matsumoto)
Solution: Ignore errors when skipping over :call command.
diff --git a/src/eval.c b/src/eval.c
index 780ed9e..efbcfaf 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3377,7 +3377,10 @@
/* 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 9b5a5b1..3008a1d 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -371,11 +371,9 @@
# 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 3aa358f..edf6aaa 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 329,
+/**/
328,
/**/
327,