summaryrefslogtreecommitdiffstats
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-09-11 14:47:18 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-09-11 14:47:18 +0000
commitfb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4 (patch)
tree22da1c3fc195ff6e753c5b0ff66c269ff9fdbe2d /Src
parent25641: add emulation option (NO_)MULTI_FUNC_DEF (diff)
downloadzsh-fb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4.tar
zsh-fb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4.tar.gz
zsh-fb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4.tar.bz2
zsh-fb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4.tar.lz
zsh-fb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4.tar.xz
zsh-fb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4.tar.zst
zsh-fb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4.zip
25643: keep DEBUG and ZERR traps in subshells
Diffstat (limited to 'Src')
-rw-r--r--Src/exec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c
index a78212888..f1c5788bf 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -869,7 +869,8 @@ entersubsh(int flags)
if (!(flags & ESUB_KEEPTRAP))
for (sig = 0; sig < VSIGCOUNT; sig++)
- if (!(sigtrapped[sig] & ZSIG_FUNC))
+ if (!(sigtrapped[sig] & ZSIG_FUNC) &&
+ sig != SIGDEBUG && sig != SIGZERR)
unsettrap(sig);
monitor = isset(MONITOR);
if (flags & ESUB_NOMONITOR)