about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2000-05-27 08:32:58 +0000
committerBart Schaefer <barts@users.sourceforge.net>2000-05-27 08:32:58 +0000
commit47532f255ef58d9e0e5bd6c909b3a7008e35ee43 (patch)
tree17b92f13e2d0702a681957088ebfdb03458caa10 /Src
parent17aadf0338940aae841e67b50ae412687d6cc9ec (diff)
downloadzsh-47532f255ef58d9e0e5bd6c909b3a7008e35ee43.tar.gz
zsh-47532f255ef58d9e0e5bd6c909b3a7008e35ee43.tar.xz
zsh-47532f255ef58d9e0e5bd6c909b3a7008e35ee43.zip
11606: Propagate parse errors out of parse_list() and parse_event(), and
test that it worked.
Diffstat (limited to 'Src')
-rw-r--r--Src/init.c2
-rw-r--r--Src/parse.c7
2 files changed, 4 insertions, 5 deletions
diff --git a/Src/init.c b/Src/init.c
index 131b50606..5f0c98ca0 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -944,7 +944,7 @@ source(char *s)
 	execode(prog, 1, 0);
 	popheap();
     } else
-	loop(0, 0);		     /* loop through the file to be sourced        */
+	loop(0, 0);		     /* loop through the file to be sourced  */
     sourcelevel--;
 
     /* restore the current shell state */
diff --git a/Src/parse.c b/Src/parse.c
index 453e45ad0..5e90984ac 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -459,6 +459,7 @@ par_event(void)
 	}
     }
     if (!r) {
+	tok = LEXERR;
 	if (errflag) {
 	    yyerror(0);
 	    ecused--;
@@ -491,10 +492,8 @@ parse_list(void)
     yylex();
     init_parse();
     par_list(&c);
-#if 0 
-   if (tok == LEXERR)
-#endif
-   if (tok != ENDINPUT) {
+    if (tok != ENDINPUT) {
+	tok = LEXERR;
 	yyerror(0);
 	return NULL;
     }