From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#15469: 24.3; emacsclient -c fails to grab focus when asking =?UTF-8?Q?=E2=80=9CRevert?= buffer from =?UTF-8?Q?file=3F=E2=80=9D?= Date: Sun, 06 Dec 2020 17:14:45 +0100 Message-ID: <87o8j67vyi.fsf@gnus.org> References: <5244CACB.3030805@mit.edu> <87h7oz9cpp.fsf@gnus.org> <83tusz9che.fsf@gnu.org> <87o8j77xdj.fsf@gnus.org> <83pn3maprb.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6484"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 15469@debbugs.gnu.org, andersk@MIT.EDU To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 06 17:15:40 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1klwhH-0001ZV-TE for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 06 Dec 2020 17:15:39 +0100 Original-Received: from localhost ([::1]:33782 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1klwhG-0003ok-Tt for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 06 Dec 2020 11:15:38 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1klwgi-0003oN-JV for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 11:15:08 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39435) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1klwgf-0005PI-VS for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 11:15:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1klwgf-0003sJ-R7 for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 11:15:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 06 Dec 2020 16:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15469 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 15469-submit@debbugs.gnu.org id=B15469.160727129714867 (code B ref 15469); Sun, 06 Dec 2020 16:15:01 +0000 Original-Received: (at 15469) by debbugs.gnu.org; 6 Dec 2020 16:14:57 +0000 Original-Received: from localhost ([127.0.0.1]:50981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1klwgb-0003rj-9s for submit@debbugs.gnu.org; Sun, 06 Dec 2020 11:14:57 -0500 Original-Received: from quimby.gnus.org ([95.216.78.240]:55006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1klwgZ-0003rO-Qx for 15469@debbugs.gnu.org; Sun, 06 Dec 2020 11:14:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=YNbqVnU88uOvoX1QCzXfBkMlsjDpLiWk7ghHyR8eowk=; b=gQNAdQs0+JNxD/l7OKMpR/244Y kIKplNf11201olWdpJnfMREfAoPppF/dtaMkC0PTm1YIgRjwOKthJqzA8aGSX1qe7h4f/RxjEUTT2 UFxKiQqgQdz5ZrKOP0ixdu7tgkc0SDIPR9N5/3/SyJixqRA8K1tq/EzNJT5uu8HChcJ8=; Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1klwgQ-0005tc-Mx; Sun, 06 Dec 2020 17:14:49 +0100 X-Now-Playing: Magnus Granberg & Skogen's _Let Pass My Weary Guiltless Ghost_: "Let Pass My Weary Guiltless Ghost" In-Reply-To: <83pn3maprb.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 06 Dec 2020 18:00:24 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:195132 Archived-At: Eli Zaretskii writes: >> > We ask the question before we switch to the new frame, so I guess the >> > question appears in the previous frame? >> >> No, it appears in the new frame. > > OK, but still: we raise the frame only when we are done, right? Yes. I instrumented raise-frame, and it was indeed called after I answered "yes" to the "revert" question: Debugger entered--entering a function: * raise-frame(#) select-frame-set-input-focus(#) server-switch-buffer(# nil nil #) server-execute(#> (("/tmp/foo")) nil nil t # window-system) #f(compiled-function () #)() server-execute-continuation(#>) server-process-filter(#> "-env SHELL=/bin/bash -env SESSION_MANAGER=local/xo...") So just raising the frame before we process the buffers seems to fix the problem for me. Comments? diff --git a/lisp/server.el b/lisp/server.el index 2fd94552dd..aa7297ba48 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -1328,6 +1328,8 @@ server-execute ;; 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))) @@ -1676,9 +1678,7 @@ server-switch-buffer (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) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no