diff -up tcsh-6.15.00/sh.func.c.syntax tcsh-6.15.00/sh.func.c --- tcsh-6.15.00/sh.func.c.syntax 2006-08-24 22:56:31.000000000 +0200 +++ tcsh-6.15.00/sh.func.c 2008-09-03 11:53:05.000000000 +0200 @@ -751,8 +751,6 @@ search(int type, int level, Char *goal) { struct Strbuf word = Strbuf_INIT; Char *cp; - struct whyle *wp; - int wlevel = 0; Stype = type; Sgoal = goal; @@ -791,24 +789,13 @@ search(int type, int level, Char *goal) case TC_FOREACH: case TC_WHILE: - wlevel++; if (type == TC_BREAK) level++; break; case TC_END: - if (type == TC_BRKSW) { - if (wlevel == 0) { - wp = whyles; - if (wp) { - whyles = wp->w_next; - wpfree(wp); - } - } - } if (type == TC_BREAK) level--; - wlevel--; break; case TC_SWITCH: