From 7d1877da4e6fabde8f0b5eb2f9a9f03d83e6c28d Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 27 Aug 2017 20:28:38 +0100 Subject: 41608 (plus tests): restore ERR_EXIT before function. There was an exception to the usual ERR_EXIT pattern that causes problems when executing a function in an else branch. It seems the exception is no longer needed as the regression tests pass without it. --- Test/C03traps.ztst | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'Test') diff --git a/Test/C03traps.ztst b/Test/C03traps.ztst index 759401225..f8a12319a 100644 --- a/Test/C03traps.ztst +++ b/Test/C03traps.ztst @@ -465,6 +465,41 @@ ) 1:ERREXIT in loop with simple commands + (set -e + f() + { + false && false + } + if false; then + : + else + # ERR_EXIT should trigger on return from function, not in function. + f + echo Fail 1 + echo Fail 2 + f + echo Fail 3 + fi) +1:ERREXIT with false from inside && within function + + (set -e + f() + { + } + if false; then + : + else + f + echo Succeed 1 + echo Succeed 2 + f + echo Succeed 3 + fi) +0:ERREXIT not triggered on empty function after false in if. +>Succeed 1 +>Succeed 2 +>Succeed 3 + fn() { emulate -L zsh setopt errreturn -- cgit 1.4.1