emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111553: * emacs.c (Fkill_emacs): Set


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111553: * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid aborting on Fsignal.
Date: Sat, 19 Jan 2013 16:49:17 +0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111553
fixes bug: http://debbugs.gnu.org/13289
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sat 2013-01-19 16:49:17 +0800
message:
  * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid aborting on 
Fsignal.
modified:
  src/ChangeLog
  src/emacs.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-01-19 07:32:36 +0000
+++ b/src/ChangeLog     2013-01-19 08:49:17 +0000
@@ -1,3 +1,8 @@
+2013-01-19  Chong Yidong  <address@hidden>
+
+       * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid
+       aborting on Fsignal (Bug#13289).
+
 2013-01-19  Eli Zaretskii  <address@hidden>
 
        * w32.c (acl_set_file): Treat ERROR_ACCESS_DENIED from

=== modified file 'src/emacs.c'
--- a/src/emacs.c       2013-01-19 04:44:34 +0000
+++ b/src/emacs.c       2013-01-19 08:49:17 +0000
@@ -133,7 +133,7 @@
 
 Lisp_Object Qrisky_local_variable;
 
-Lisp_Object Qkill_emacs;
+Lisp_Object Qkill_emacs, Qkill_emacs_hook;
 
 /* If true, Emacs should not attempt to use a window-specific code,
    but instead should use the virtual terminal under which it was started.  */
@@ -1841,7 +1841,6 @@
   (Lisp_Object arg)
 {
   struct gcpro gcpro1;
-  Lisp_Object hook;
   int exit_code;
 
   GCPRO1 (arg);
@@ -1849,9 +1848,10 @@
   if (feof (stdin))
     arg = Qt;
 
-  hook = intern ("kill-emacs-hook");
-  Frun_hooks (1, &hook);
-
+  /* Fsignal calls emacs_abort () if it sees that waiting_for_input is
+     set.  */
+  waiting_for_input = 0;
+  Frun_hooks (1, &Qkill_emacs_hook);
   UNGCPRO;
 
 #ifdef HAVE_X_WINDOWS
@@ -2263,6 +2263,7 @@
   DEFSYM (Qfile_name_handler_alist, "file-name-handler-alist");
   DEFSYM (Qrisky_local_variable, "risky-local-variable");
   DEFSYM (Qkill_emacs, "kill-emacs");
+  DEFSYM (Qkill_emacs_hook, "kill-emacs-hook");
 
 #ifndef CANNOT_DUMP
   defsubr (&Sdump_emacs);


reply via email to

[Prev in Thread] Current Thread [Next in Thread]