aboutsummaryrefslogtreecommitdiffstats
path: root/src/emacs.c
diff options
context:
space:
mode:
authorAndreas Schwab <[email protected]>2011-12-04 10:26:30 +0100
committerAndreas Schwab <[email protected]>2011-12-04 10:26:30 +0100
commit6c07aac2835c5ec4462fedb267f1bba5bb3cadc5 (patch)
tree4b8a0f5a7728830f323014ea541d1ec3c41c678b /src/emacs.c
parentc80e3b4aed2e70eb6d8445d786c0df770094e9e1 (diff)
Don't call Lisp in signal handler
* emacs.c (Qkill_emacs): Define. (syms_of_emacs): Initialize it. * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set Qquit_flag to `kill-emacs' instead. (quit_throw_to_read_char): Add parameter `from_signal'. All callers changed. Call Fkill_emacs if requested and safe. * lisp.h (QUIT): Call Fkill_emacs if requested.
Diffstat (limited to 'src/emacs.c')
-rw-r--r--src/emacs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/emacs.c b/src/emacs.c
index 529fa35a5b..6bfc0dc60d 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -154,6 +154,8 @@ Lisp_Object Qfile_name_handler_alist;
Lisp_Object Qrisky_local_variable;
+Lisp_Object Qkill_emacs;
+
/* If non-zero, Emacs should not attempt to use a window-specific code,
but instead should use the virtual terminal under which it was started. */
int inhibit_window_system;
@@ -2394,6 +2396,7 @@ syms_of_emacs (void)
{
DEFSYM (Qfile_name_handler_alist, "file-name-handler-alist");
DEFSYM (Qrisky_local_variable, "risky-local-variable");
+ DEFSYM (Qkill_emacs, "kill-emacs");
#ifndef CANNOT_DUMP
defsubr (&Sdump_emacs);