summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2018-01-23 20:55:09 -0500
committerGlenn Morris <rgm@gnu.org>2018-11-12 14:03:18 -0500
commitb8bbbe54ddb7dc49cd28bb03a7f9f1a059501d1e (patch)
tree7f54231cd54978c49a90476fbd22999295f14a60
parente3b36836608cd15c62ffa1413fdf04072f9ae6cd (diff)
downloademacs-b8bbbe54ddb7dc49cd28bb03a7f9f1a059501d1e.tar.gz
Avoid kill-emacs-hook errors hanging batch mode
* src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook hanging Emacs in batch mode. (Bug#29955) (cherry picked from commit 109da684c5124e22505917fe0255ca66f2a6bfc9)
-rw-r--r--src/emacs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emacs.c b/src/emacs.c
index f80047e89e7..7a918b8bdf6 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -2017,7 +2017,10 @@ all of which are called before Emacs is actually killed. */
/* Fsignal calls emacs_abort () if it sees that waiting_for_input is
set. */
waiting_for_input = 0;
- run_hook (Qkill_emacs_hook);
+ if (noninteractive)
+ safe_run_hooks (Qkill_emacs_hook);
+ else
+ run_hook (Qkill_emacs_hook);
#ifdef HAVE_X_WINDOWS
/* Transfer any clipboards we own to the clipboard manager. */