diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | src/parser.c | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index dcb7182..d7e0f79 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ * Fix dowait signal race. * Remove EXSIG. * Do not close stderr when /dev/tty fails to open. + * Allow newlines after var name in for statements. 2009-01-14 Herbert Xu <herbert@gondor.apana.org.au> diff --git a/src/parser.c b/src/parser.c index ab66f30..425c457 100644 --- a/src/parser.c +++ b/src/parser.c @@ -357,7 +357,7 @@ TRACE(("expecting DO got %s %s\n", tokname[got], got == TWORD ? wordtext : "")); n1 = (union node *)stalloc(sizeof (struct nfor)); n1->type = NFOR; n1->nfor.var = wordtext; - checkkwd = CHKKWD | CHKALIAS; + checkkwd = CHKNL | CHKKWD | CHKALIAS; if (readtoken() == TIN) { app = ≈ while (readtoken() == TWORD) { @@ -383,7 +383,7 @@ TRACE(("expecting DO got %s %s\n", tokname[got], got == TWORD ? wordtext : "")); * Newline or semicolon here is optional (but note * that the original Bourne shell only allowed NL). */ - if (lasttoken != TNL && lasttoken != TSEMI) + if (lasttoken != TSEMI) tokpushback++; } checkkwd = CHKNL | CHKKWD | CHKALIAS; |