about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-10-05 09:31:21 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-10-05 09:31:21 +0000
commita98a3049d977fc202079a639d319af44981200bd (patch)
treef22159a789f5f117005c0bed64553af8c3457709
parenta93e62c630b6362f927023d322956edbdc96acbf (diff)
downloadzsh-a98a3049d977fc202079a639d319af44981200bd.tar.gz
zsh-a98a3049d977fc202079a639d319af44981200bd.tar.xz
zsh-a98a3049d977fc202079a639d319af44981200bd.zip
don't return invalid Eprog after parse error (12898)
-rw-r--r--ChangeLog2
-rw-r--r--Src/parse.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5db3ca048..d4dcc88ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2000-10-05  Sven Wischnowsky  <wischnow@zsh.org>
 
+	* 12898: Src/parse.c: don't return invalid Eprog after parse error
+	
 	* 12897: Src/Zle/computil.c: comparguments: don't use
  	rest-argument-specification if it was inactivated
 	
diff --git a/Src/parse.c b/Src/parse.c
index 7ea6b28d3..15f1eba41 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -478,9 +478,10 @@ par_event(void)
     } else {
 	int oec = ecused;
 
-	par_event();
-	if (ecused == oec)
+	if (!par_event()) {
+	    ecused = oec;
 	    ecbuf[p] |= wc_bdata(Z_END);
+	}
     }
     return 1;
 }