From 21640257edc72e0c11127db60a6cfa9e92005309 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Tue, 9 Apr 2024 01:00:14 -0400 Subject: [PATCH] Close X connection when emacsclient disconnects This fixes an issue reported on the mailing list: https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00950.html * lisp/server.el (server-handle-delete-frame): If the frame is an X frame and DISPLAY is set, close the X connection to the display. --- lisp/server.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/server.el b/lisp/server.el index b65053267a6..fb236493eae 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -509,6 +509,9 @@ server-handle-delete-frame (eq proc (frame-parameter f 'client)))) (frame-list)))) (server-log (format "server-handle-delete-frame, frame %s" frame) proc) + (let ((display (frame-parameter frame 'display))) + (when (and display (eq (framep frame) 'x)) + (run-at-time nil nil (lambda () (x-close-connection display))))) (server-delete-client proc 'noframe)))) ; Let delete-frame delete the frame later. (defun server-handle-suspend-tty (terminal) -- 2.39.2