summaryrefslogtreecommitdiff
path: root/Src/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/exec.c b/Src/exec.c
index 83f397335..ee0752035 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -3495,7 +3495,8 @@ doshfunc(char *name, Eprog prog, LinkList doshargs, int flags, int noreturnval)
memcpy(oldpipestats, pipestats, bytes);
}
- starttrapscope();
+ if (!intrap)
+ starttrapscope();
tab = pparams;
if (!(flags & PM_UNDEFINED))
@@ -3595,7 +3596,8 @@ doshfunc(char *name, Eprog prog, LinkList doshargs, int flags, int noreturnval)
opts[LOCALOPTIONS] = saveopts[LOCALOPTIONS];
}
- endtrapscope();
+ if (!intrap)
+ endtrapscope();
if (trapreturn < -1)
trapreturn++;