summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Src/parse.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 653798257..5bcdf2d4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-04-23 Peter Stephenson <p.stephenson@samsung.com>
+
+ * 23362: Src/parse.c: Allow short loops with "while".
+
2018-04-20 Peter Stephenson <p.stephenson@samsung.com>
* 42684 (with extra comments): Src/exec.c: Fork earlier
diff --git a/Src/parse.c b/Src/parse.c
index 47e5a246a..83383f10c 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -1510,8 +1510,10 @@ par_while(int *cmplx)
if (tok != ZEND)
YYERRORV(oecused);
zshlex();
- } else
+ } else if (unset(SHORTLOOPS)) {
YYERRORV(oecused);
+ } else
+ par_save_list1(cmplx);
ecbuf[p] = WCB_WHILE(type, ecused - 1 - p);
}