diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-08-01 13:53:43 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-08-01 13:53:43 +0000 |
commit | 506d73299cd5559b4d303260f2f05901886c937a (patch) | |
tree | 3333c417cb5813457fd8c7d5d4eeadfda4f42240 /Src/signals.c | |
parent | 5e7e797ca90cd1c1b7ab54d39118f0b7469f348f (diff) | |
download | zsh-506d73299cd5559b4d303260f2f05901886c937a.tar.gz zsh-506d73299cd5559b4d303260f2f05901886c937a.tar.xz zsh-506d73299cd5559b4d303260f2f05901886c937a.zip |
fix problems with trapreturn, in particular in source inside trap
Diffstat (limited to 'Src/signals.c')
-rw-r--r-- | Src/signals.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Src/signals.c b/Src/signals.c index 022ee8fb5..61fff64a2 100644 --- a/Src/signals.c +++ b/Src/signals.c @@ -1085,6 +1085,7 @@ dotrapargs(int sig, int *sigtr, void *sigfn) int trapret = 0; int obreaks = breaks; int oretflag = retflag; + int otrapreturn = trapreturn; int isfunc; int traperr; @@ -1183,6 +1184,7 @@ dotrapargs(int sig, int *sigtr, void *sigfn) trapret = trapreturn + 1; } traperr = errflag; + trapreturn = otrapreturn; execrestore(); lexrestore(); |