diff options
author | Kim F. Storm <storm@cua.dk> | 2005-06-03 23:02:21 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2005-06-03 23:02:21 +0000 |
commit | 5a073f50755944ae51a08f670d8acf192d69e036 (patch) | |
tree | 3055e6e3d0f6ab8d40e5f9385e3482ba76f6a8fc /src/eval.c | |
parent | 24aad44185871b6e1cd36265b10639bed9b97f1a (diff) | |
download | emacs-5a073f50755944ae51a08f670d8acf192d69e036.tar.gz |
(unbind_to): Preserve value of Vquit_flag.
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 10 |
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; |