From c7d8b0dfb8ae9670e2bc11ecf563200069a3a12f Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 11 Feb 2009 20:42:15 +0000 Subject: 26546, 26556: sticky emulation for functions defined in emulate ... -c ... environments, plus documentation --- Src/signals.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Src/signals.c') 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; -- cgit 1.4.1