about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Src/parse.c6
2 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 87d47ac65..fd954ba26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
 2001-06-21  Bart Schaefer  <schaefer@zsh.org>
 
-	* 15023: Src/parse.c: Accept newlines before the "in" keyword in
-	"for" and "select", per POSIX.
+	* 15023, 15027: Src/parse.c: Accept newlines before the "in"
+	keyword in "for" and "select", per POSIX.
 
 	* 15020: Completion/Zsh/Command/_cd, Completion/Zsh/Context/_autocd,
 	Completion/Zsh/Type/_command_names: When AUTO_CD is set, complete
diff --git a/Src/parse.c b/Src/parse.c
index 9ea691d2c..b611e8e0c 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -903,13 +903,15 @@ par_for(int *complex)
 	yylex();
 	type = WC_FOR_COND;
     } else {
+	int posix_in;
 	infor = 0;
 	if (tok != STRING || !isident(tokstr))
 	    YYERRORV(oecused);
 	ecstr(tokstr);
 	incmdpos = 1;
 	yylex();
-	while (isnewlin && !csh)
+	posix_in = isnewlin;
+	while (isnewlin)
 	  yylex();
 	if (tok == STRING && !strcmp(tokstr, "in")) {
 	    int np, n;
@@ -922,7 +924,7 @@ par_for(int *complex)
 		YYERRORV(oecused);
 	    ecbuf[np] = n;
 	    type = (sel ? WC_SELECT_LIST : WC_FOR_LIST);
-	} else if (tok == INPAR) {
+	} else if (!posix_in && tok == INPAR) {
 	    int np, n;
 
 	    incmdpos = 0;