Commits

Bram Moolenaar  committed ec901dd

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.

  • Participants
  • Parent commits 906ea37
  • Tags v7-3-329

Comments (0)

Files changed (3)

 	/* 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;
     }
 

File src/ex_docmd.c

 # 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

File src/version.c

 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    329,
+/**/
     328,
 /**/
     327,