Permalink
Browse files

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.
  • Loading branch information...
1 parent c19bca2 commit 5f19dd4ae5457faba8d83dadcde84aead50af2e9 @brammool brammool committed Sep 30, 2011
Showing with 6 additions and 3 deletions.
  1. +4 −1 src/eval.c
  2. +0 −2 src/ex_docmd.c
  3. +2 −0 src/version.c
View
@@ -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;
}
View
@@ -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
View
@@ -710,6 +710,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 329,
+/**/
328,
/**/
327,

0 comments on commit 5f19dd4

Please sign in to comment.