diff src/eval.c @ 62980:5b94f4660d9d

(unbind_to): Preserve value of Vquit_flag.
author Kim F. Storm <storm@cua.dk>
date Fri, 03 Jun 2005 23:02:21 +0000
parents d66d7efe0adf
children 9bde03db5726 01137c1fdbe9
line wrap: on
line diff
--- a/src/eval.c	Fri Jun 03 23:02:03 2005 +0000
+++ b/src/eval.c	Fri Jun 03 23:02:21 2005 +0000
@@ -3130,10 +3130,10 @@
      int count;
      Lisp_Object value;
 {
-  int quitf = !NILP (Vquit_flag);
-  struct gcpro gcpro1;
-
-  GCPRO1 (value);
+  Lisp_Object quitf = Vquit_flag;
+  struct gcpro gcpro1, gcpro2;
+
+  GCPRO2 (value, quitf);
   Vquit_flag = Qnil;
 
   while (specpdl_ptr != specpdl + count)
@@ -3182,8 +3182,8 @@
 	}
     }
 
-  if (NILP (Vquit_flag) && quitf)
-    Vquit_flag = Qt;
+  if (NILP (Vquit_flag) && !NILP (quitf))
+    Vquit_flag = quitf;
 
   UNGCPRO;
   return value;