summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorGerrit Pape <pape@smarden.org>2010-06-28 17:11:58 +1000
committerHerbert Xu <herbert@gondor.apana.org.au>2010-06-28 17:11:58 +1000
commitcdfb42fd67558847b689c69b6fdd23016e7220eb (patch)
tree220fce3cad122e3b3851472be68c76424315f380 /ChangeLog
parent[BUILTIN] Continue after EINTR in read(1) with no pending signals (diff)
downloaddash-cdfb42fd67558847b689c69b6fdd23016e7220eb.tar.gz
dash-cdfb42fd67558847b689c69b6fdd23016e7220eb.zip
[EVAL] Don't clear eflag in evalbackcmd
According to                          
 http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_12
"A subshell environment shall be created as a duplicate of the shell
environment, except that signal traps set by that shell environment
shall be set to the default values."

Currently the eflag is cleared when forking a subshell, e.g.

$ dash -c 'set -e ; z=$(false;echo foo) ; echo $z'
foo

With this commit the eflag is preserved for subshells, and dash exits 1
before echo.

The problem was reported by Vincent Lefevre through
 http://bugs.debian.org/514863

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog4
1 files changed, 4 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5a11a8c..e45405c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-06-28  Gerrit Pape <pape@smarden.org>
+
+	* Don't clear eflag in evalbackcmd.
+
 2010-05-29  Herbert Xu <herbert@gondor.apana.org.au>
 
 	* Continue after EINTR in read(1) with no pending signals.