From e01223a26cb7afd9f44805f067c4dcdad06039b0 Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Sun, 2 Feb 2020 18:05:47 +0000
Subject: 45373: Fix ERR_EXIT bug in else branch of if.
The flags need resetting for this branch otherwise e.g. command
substitution with non-zero status doesn't cause exit.
---
Test/C03traps.ztst | 9 +++++++++
1 file changed, 9 insertions(+)
(limited to 'Test')
diff --git a/Test/C03traps.ztst b/Test/C03traps.ztst
index e661aabd5..6f84e5db2 100644
--- a/Test/C03traps.ztst
+++ b/Test/C03traps.ztst
@@ -500,6 +500,15 @@
>Succeed 2
>Succeed 3
+ (set -e
+ if false; then
+ else
+ a=$(false)
+ print This should not appear
+ fi
+ )
+1:ERREXIT is triggered in an else block after a cmd subst returning false
+
fn() {
emulate -L zsh
setopt errreturn
--
cgit 1.4.1