From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1789 invoked from network); 5 Oct 2000 09:24:44 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 5 Oct 2000 09:24:44 -0000 Received: (qmail 16217 invoked by alias); 5 Oct 2000 09:24:20 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12898 Received: (qmail 16210 invoked from network); 5 Oct 2000 09:24:19 -0000 Date: Thu, 5 Oct 2000 11:24:17 +0200 (MET DST) Message-Id: <200010050924.LAA13187@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Tanaka Akira's message of 05 Oct 2000 12:28:49 +0900 Subject: PATCH: Re: zsh hangs. Tanaka Akira wrote: > zsh hangs up as follows. > > Z(2):akr@flux% Src/zsh -f > flux% setopt histnostore > flux% echo a > /} > zsh: parse error near `}' > ^C^C^Z^Z (Sometimes I wonder how you find things like these...) This was caused by the wrong (or missing) return-value handling in par_event() when it called itself recursively. That made parse_event() return an invalid Eprog and later histnostore made getpermtext() be called on that. Bye Sven Index: Src/parse.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/parse.c,v retrieving revision 1.13 diff -u -r1.13 parse.c --- Src/parse.c 2000/08/02 18:01:51 1.13 +++ Src/parse.c 2000/10/05 09:21:26 @@ -478,9 +478,10 @@ } else { int oec = ecused; - par_event(); - if (ecused == oec) + if (!par_event()) { + ecused = oec; ecbuf[p] |= wc_bdata(Z_END); + } } return 1; } -- Sven Wischnowsky wischnow@informatik.hu-berlin.de