Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: Re: zsh hangs.



Tanaka Akira wrote:

> zsh hangs up as follows.
> 
> Z(2):akr@flux% Src/zsh -f
> flux% setopt histnostore<C-j>
> flux% echo a<C-v><C-j>
> /}<C-j>
> 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@xxxxxxxxxxxxxxxxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author