about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <p.stephenson@samsung.com>2018-04-23 13:45:08 +0100
committerPeter Stephenson <p.stephenson@samsung.com>2018-04-23 13:45:08 +0100
commit11f18457d229b84c3532c15c9080235e85d26866 (patch)
tree6759e023a8460851e6fc600c1abefff1f7f9e5c2
parent9e2afb92987d7fd96a838c15b6641cc1b634a825 (diff)
downloadzsh-11f18457d229b84c3532c15c9080235e85d26866.tar.gz
zsh-11f18457d229b84c3532c15c9080235e85d26866.tar.xz
zsh-11f18457d229b84c3532c15c9080235e85d26866.zip
Allow short loops with "while"
-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);
 }