summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Test/C03traps.ztst11
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b912821e2..3e06cfa83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2016-12-05  Peter Stephenson  <p.stephenson@samsung.com>
 
+	* 40100: Test/C03traps.ztst: Check ERR_EXIT and ERR_RETURN on
+	anonymous functions: should exit on function return even if
+	suppressed internally.
+
 	* 40097: Src/exec.c, Test/C03traps.ztst: Don't trigger ERR_EXIT
 	or ERR_RETURN on non-zero status after current shell group, either.
 
diff --git a/Test/C03traps.ztst b/Test/C03traps.ztst
index dc386a44e..7bc0b486d 100644
--- a/Test/C03traps.ztst
+++ b/Test/C03traps.ztst
@@ -713,6 +713,17 @@ F:Must be tested with a top-level script rather than source or function
   )
 1:ERR_EXIT triggered by status 1 within { }
 
+  (setopt err_exit
+  () {
+     false && true
+     print Still functioning
+     false && true
+  }
+  print OK
+  )
+1:ERR_EXIT triggered by status 1 at end of anon func
+>Still functioning
+
   if zmodload zsh/system 2>/dev/null; then
   (
     trap 'echo TERM; exit 2' TERM