changeset 3116:ec901ddc84d5 v7.3.329

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.
author Bram Moolenaar <bram@vim.org>
date Fri, 30 Sep 2011 18:35:57 +0200
parents 906ea37adb23
children fb6b43d55773
files src/eval.c src/ex_docmd.c src/version.c
diffstat 3 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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;
     }
 
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -371,11 +371,9 @@ static void	ex_tag_cmd __ARGS((exarg_T *
 # 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
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    329,
+/**/
     328,
 /**/
     327,