diff src/ex_eval.c @ 114:f6e567606d47

updated for version 7.0041
author vimboss
date Mon, 17 Jan 2005 22:16:15 +0000
parents e918d3e340a4
children 2463194c8cdd
line wrap: on
line diff
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -1172,11 +1172,16 @@ ex_endwhile(eap)
 	fl =  cstack->cs_flags[cstack->cs_idx];
 	if (!(fl & csf))
 	{
+	    /* If we are in a ":while" or ":for" but used the wrong endloop
+	     * command, do not rewind to the next enclosing ":for"/":while". */
 	    if (fl & CSF_WHILE)
-		eap->errmsg = (char_u *)_("E999: Using :endfor with :while");
+		eap->errmsg = (char_u *)_("E732: Using :endfor with :while");
 	    else if (fl & CSF_FOR)
-		eap->errmsg = (char_u *)_("E999: Using :endwhile with :for");
-	    else if (!(fl & CSF_TRY))
+		eap->errmsg = (char_u *)_("E733: Using :endwhile with :for");
+	}
+	if (!(fl & (CSF_WHILE | CSF_FOR)))
+	{
+	    if (!(fl & CSF_TRY))
 		eap->errmsg = e_endif;
 	    else if (fl & CSF_FINALLY)
 		eap->errmsg = e_endtry;