summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2005-06-03 23:02:21 +0000
committerKim F. Storm <storm@cua.dk>2005-06-03 23:02:21 +0000
commit5a073f50755944ae51a08f670d8acf192d69e036 (patch)
tree3055e6e3d0f6ab8d40e5f9385e3482ba76f6a8fc /src/eval.c
parent24aad44185871b6e1cd36265b10639bed9b97f1a (diff)
downloademacs-5a073f50755944ae51a08f670d8acf192d69e036.tar.gz
(unbind_to): Preserve value of Vquit_flag.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/eval.c b/src/eval.c
index 8bb201c5df5..0eb1482ee0b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3130,10 +3130,10 @@ unbind_to (count, value)
int count;
Lisp_Object value;
{
- int quitf = !NILP (Vquit_flag);
- struct gcpro gcpro1;
+ Lisp_Object quitf = Vquit_flag;
+ struct gcpro gcpro1, gcpro2;
- GCPRO1 (value);
+ GCPRO2 (value, quitf);
Vquit_flag = Qnil;
while (specpdl_ptr != specpdl + count)
@@ -3182,8 +3182,8 @@ unbind_to (count, value)
}
}
- if (NILP (Vquit_flag) && quitf)
- Vquit_flag = Qt;
+ if (NILP (Vquit_flag) && !NILP (quitf))
+ Vquit_flag = quitf;
UNGCPRO;
return value;