]> code.delx.au - gnu-emacs/commitdiff
* src/keyboard.c (interrupt_signal): Don't call kill-emacs while in
authorAndreas Schwab <schwab@linux-m68k.org>
Sun, 6 Nov 2011 19:42:14 +0000 (20:42 +0100)
committerAndreas Schwab <schwab@linux-m68k.org>
Sun, 6 Nov 2011 19:42:14 +0000 (20:42 +0100)
GC.

src/ChangeLog
src/keyboard.c

index e393da21cc2eaf25febc9d3807d74a5ec5d67965..a134b5f48713d918d49866ba4cb1e82c82692b8b 100644 (file)
@@ -1,3 +1,8 @@
+2011-11-06  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * keyboard.c (interrupt_signal): Don't call kill-emacs while in
+       GC.
+
 2011-11-06  Eli Zaretskii  <eliz@gnu.org>
 
        * xdisp.c (init_iterator, reseat_to_string): Don't set the
index 95604550c8042f828e84264fbc949e9ca6dba5a9..11c37d14f64a065ed51cda94d7cb44d1c8a65024 100644 (file)
@@ -10856,8 +10856,12 @@ interrupt_signal (int signalnum)       /* If we don't have an argument, some */
   if (!terminal)
     {
       /* If there are no frames there, let's pretend that we are a
-         well-behaving UN*X program and quit.  */
-      Fkill_emacs (Qnil);
+         well-behaving UN*X program and quit.  We cannot do that while
+         GC is in progress, though.  */
+      if (!gc_in_progress)
+       Fkill_emacs (Qnil);
+      else
+       Vquit_flag = Qt;
     }
   else
     {