diff options
author | Andreas Schwab <[email protected]> | 2011-12-04 10:26:30 +0100 |
---|---|---|
committer | Andreas Schwab <[email protected]> | 2011-12-04 10:26:30 +0100 |
commit | 6c07aac2835c5ec4462fedb267f1bba5bb3cadc5 (patch) | |
tree | 4b8a0f5a7728830f323014ea541d1ec3c41c678b /src/emacs.c | |
parent | c80e3b4aed2e70eb6d8445d786c0df770094e9e1 (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.c | 3 |
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); |