]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix daemon shutdown when emacs-kill-hooks ask questions
authorEli Zaretskii <eliz@gnu.org>
Mon, 12 Sep 2016 18:25:09 +0000 (21:25 +0300)
committerEli Zaretskii <eliz@gnu.org>
Mon, 12 Sep 2016 18:25:09 +0000 (21:25 +0300)
* lisp/server.el (server-start): Put the server's kill-emacs-hook
last, to allow other hooks to have a frame to interact with the
user.  (Bug#24326)

lisp/server.el

index 53009849e2545aa19a2062ff0b7105f1318cd419..85d51c8ba07ed8067b64eee4f7e5c2580fa6c00a 100644 (file)
@@ -648,7 +648,12 @@ server or call `\\[server-force-delete]' to forcibly disconnect it."))
          (add-hook 'delete-frame-functions 'server-handle-delete-frame)
          (add-hook 'kill-emacs-query-functions
                     'server-kill-emacs-query-function)
-         (add-hook 'kill-emacs-hook 'server-force-stop) ;Cleanup upon exit.
+          ;; We put server's kill-emacs-hook after the others, so that
+          ;; frames are not deleted too early, because doing that
+          ;; would severely degrade our abilities to communicate with
+          ;; the user, while some hooks may wish to ask the user
+          ;; questions (e.g., desktop-kill).
+         (add-hook 'kill-emacs-hook 'server-force-stop t) ;Cleanup upon exit.
          (setq server-process
                (apply #'make-network-process
                       :name server-name