4dfb4bc
diff -up tcsh-6.17.00/sh.func.c_old tcsh-6.17.00/sh.func.c
4dfb4bc
--- tcsh-6.17.00/sh.func.c_old	2009-07-20 14:54:16.000000000 +0200
4dfb4bc
+++ tcsh-6.17.00/sh.func.c	2009-07-20 14:55:34.000000000 +0200
4dfb4bc
@@ -753,8 +753,6 @@ search(int type, int level, Char *goal)
1bcd8ea
 {
1bcd8ea
     struct Strbuf word = Strbuf_INIT;
1bcd8ea
     Char *cp;
1bcd8ea
-    struct whyle *wp;
1bcd8ea
-    int wlevel = 0;
4dfb4bc
     struct wordent *histent = NULL, *ohistent = NULL;
1bcd8ea
 
1bcd8ea
     Stype = type;
4dfb4bc
@@ -811,24 +809,13 @@ search(int type, int level, Char *goal)
1bcd8ea
 
1bcd8ea
 	case TC_FOREACH:
1bcd8ea
 	case TC_WHILE:
1bcd8ea
-	    wlevel++;
1bcd8ea
 	    if (type == TC_BREAK)
1bcd8ea
 		level++;
1bcd8ea
 	    break;
1bcd8ea
 
1bcd8ea
 	case TC_END:
1bcd8ea
-	    if (type == TC_BRKSW) {
1bcd8ea
-		if (wlevel == 0) {
1bcd8ea
-		    wp = whyles;
1bcd8ea
-		    if (wp) {
1bcd8ea
-			    whyles = wp->w_next;
1bcd8ea
-			    wpfree(wp);
1bcd8ea
-		    }
1bcd8ea
-		}
1bcd8ea
-	    }
1bcd8ea
 	    if (type == TC_BREAK)
1bcd8ea
 		level--;
1bcd8ea
-	    wlevel--;
1bcd8ea
 	    break;
1bcd8ea
 
1bcd8ea
 	case TC_SWITCH: