summaryrefslogtreecommitdiff
path: root/Src/signals.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/signals.c')
-rw-r--r--Src/signals.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/signals.c b/Src/signals.c
index ac5ffaa21..5d1797f2f 100644
--- a/Src/signals.c
+++ b/Src/signals.c
@@ -706,6 +706,7 @@ dosavetrap(int sig, int level)
newshf->node.flags = shf->node.flags;
newshf->funcdef = dupeprog(shf->funcdef, 0);
newshf->filename = ztrdup(shf->filename);
+ newshf->emulation = shf->emulation;
if (shf->node.flags & PM_UNDEFINED)
newshf->funcdef->shf = newshf;
}
@@ -1201,7 +1202,7 @@ dotrapargs(int sig, int *sigtr, void *sigfn)
/* return triggered */
retflag = 1;
} else {
- if (traperr && emulation != EMULATE_SH)
+ if (traperr && !EMULATION(EMULATE_SH))
lastval = 1;
if (try_tryflag)
errflag = traperr;