diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2009-02-11 20:42:15 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2009-02-11 20:42:15 +0000 |
commit | c7d8b0dfb8ae9670e2bc11ecf563200069a3a12f (patch) | |
tree | 822403086b3d6d77bb14846b6e286d59389da12c /Src/signals.c | |
parent | 0d02cf343eda943c32f7edfd24f28dbbd7004e32 (diff) | |
download | zsh-c7d8b0dfb8ae9670e2bc11ecf563200069a3a12f.tar.gz zsh-c7d8b0dfb8ae9670e2bc11ecf563200069a3a12f.tar.xz zsh-c7d8b0dfb8ae9670e2bc11ecf563200069a3a12f.zip |
26546, 26556: sticky emulation for functions defined in emulate ... -c ...
environments, plus documentation
Diffstat (limited to 'Src/signals.c')
-rw-r--r-- | Src/signals.c | 3 |
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; |