From 9cef8fc8cdb5e6e18c9cf617eed3808d67ca340e Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Mon, 7 Dec 2020 14:29:46 +0100 Subject: [PATCH] Ensure that new emacsclient frames has focus * lisp/server.el (server-execute): Focus the frame here... (server-switch-buffer): Instead of here (bug#15469). This ensures that the frame has focus if Emacs is querying the user about something when opening a file (for instance "Revert from file?"). --- lisp/server.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/server.el b/lisp/server.el index b1b27e33b2e..651f801a237 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -1334,6 +1334,8 @@ The following commands are accepted by the client: ;; inhibit-quit flag, which is good since `commands' (as well as ;; find-file-noselect via the major-mode) can run arbitrary code, ;; including code that needs to wait. + (when (and frame server-raise-frame) + (select-frame-set-input-focus frame)) (with-local-quit (condition-case err (let ((buffers (server-visit-files files proc nowait))) @@ -1686,9 +1688,7 @@ be a cons cell (LINENUMBER . COLUMNNUMBER)." (switch-to-buffer next-buffer)) ;; After all the above, we might still have ended up with ;; a minibuffer/dedicated-window (if there's no other). - (error (pop-to-buffer next-buffer))))))) - (when server-raise-frame - (select-frame-set-input-focus (window-frame))))) + (error (pop-to-buffer next-buffer))))))))) ;;;###autoload (defun server-save-buffers-kill-terminal (arg) -- 2.39.5