summaryrefslogtreecommitdiff
path: root/Src/signals.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-08-01 13:53:43 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-08-01 13:53:43 +0000
commit506d73299cd5559b4d303260f2f05901886c937a (patch)
tree3333c417cb5813457fd8c7d5d4eeadfda4f42240 /Src/signals.c
parent5e7e797ca90cd1c1b7ab54d39118f0b7469f348f (diff)
downloadzsh-506d73299cd5559b4d303260f2f05901886c937a.tar.gz
zsh-506d73299cd5559b4d303260f2f05901886c937a.zip
fix problems with trapreturn, in particular in source inside trap
Diffstat (limited to 'Src/signals.c')
-rw-r--r--Src/signals.c2
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();