]> git.eshelyaron.com Git - emacs.git/commitdiff
(unbind_to): Preserve value of Vquit_flag.
authorKim F. Storm <storm@cua.dk>
Fri, 3 Jun 2005 23:02:21 +0000 (23:02 +0000)
committerKim F. Storm <storm@cua.dk>
Fri, 3 Jun 2005 23:02:21 +0000 (23:02 +0000)
src/eval.c

index 8bb201c5df5aebb7b392d412541be3273a7e65ed..0eb1482ee0bfc3d46fefb41958e6369753f95430 100644 (file)
@@ -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;