about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2002-09-17 10:46:30 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2002-09-17 10:46:30 +0000
commit2421fe859969171914aac4e9280b96db1b173763 (patch)
treefafce9cb7597057a23f6e5aafe2904adb4df6b67 /Test
parent695f023058a9c37d70e057dcf4ad9c7dfedfca9f (diff)
downloadzsh-2421fe859969171914aac4e9280b96db1b173763.tar.gz
zsh-2421fe859969171914aac4e9280b96db1b173763.tar.xz
zsh-2421fe859969171914aac4e9280b96db1b173763.zip
17673: Fix bug with &&s and ||s in complex constructs
Diffstat (limited to 'Test')
-rw-r--r--Test/A01grammar.ztst18
1 files changed, 18 insertions, 0 deletions
diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst
index 8b6b403fb..7a1e39934 100644
--- a/Test/A01grammar.ztst
+++ b/Test/A01grammar.ztst
@@ -319,3 +319,21 @@
   done < /dev/null | { read name; print done }
 0:Bug regression: `while' loop with redirection and pipeline
 >done
+
+# This used to be buggy and print X at the end of each iteration.
+  for f in 1 2 3 4; do
+    print $f || break
+  done && print X
+0:Handling of ||'s and &&'s with a for loop in between
+>1
+>2
+>3
+>4
+>X
+
+# Same bug for &&, used to print `no' at the end of each iteration
+  for f in 1 2 3 4; do
+    false && print strange
+  done || print no
+0:Handling of &&'s and ||'s with a for loop in between
+>no