From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#52491: 28.0.90; Regression in window deletion with minibuffer Date: Sun, 19 Dec 2021 19:14:08 +0200 Organization: LINKOV.NET Message-ID: <86wnk0frfj.fsf@mail.linkov.net> References: <865yrqsxmu.fsf@mail.linkov.net> <865yro7csh.fsf@mail.linkov.net> <83h7b8fngd.fsf@gnu.org> <86v8zo4bma.fsf@mail.linkov.net> <83fsqsfh8i.fsf@gnu.org> <86tuf73aen.fsf@mail.linkov.net> <83h7b7e8t2.fsf@gnu.org> <4318fa2c-0127-4a14-f65e-399b5c097028@gmx.at> <86sfupu8xi.fsf@mail.linkov.net> <9c2cbe85-b1a0-f147-69c8-0f26ab2e7c4d@gmx.at> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31912"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu) Cc: 52491@debbugs.gnu.org To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 19 18:21:58 2021 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 1myzsj-00087V-8d for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Dec 2021 18:21:57 +0100 Original-Received: from localhost ([::1]:39018 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1myzsg-0002pv-Qi for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Dec 2021 12:21:55 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:37216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1myzrr-0001wL-KS for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2021 12:21:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36413) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1myzrq-0007MK-Eq for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2021 12:21:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1myzrq-0007Bv-BT for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2021 12:21:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Dec 2021 17:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52491 X-GNU-PR-Package: emacs Original-Received: via spool by 52491-submit@debbugs.gnu.org id=B52491.163993443427583 (code B ref 52491); Sun, 19 Dec 2021 17:21:02 +0000 Original-Received: (at 52491) by debbugs.gnu.org; 19 Dec 2021 17:20:34 +0000 Original-Received: from localhost ([127.0.0.1]:47958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myzrO-0007Ap-3E for submit@debbugs.gnu.org; Sun, 19 Dec 2021 12:20:34 -0500 Original-Received: from relay4-d.mail.gandi.net ([217.70.183.196]:41589) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myzrK-0007AI-6H for 52491@debbugs.gnu.org; Sun, 19 Dec 2021 12:20:30 -0500 Original-Received: (Authenticated sender: juri@linkov.net) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id CD9FBE0003; Sun, 19 Dec 2021 17:20:23 +0000 (UTC) In-Reply-To: <9c2cbe85-b1a0-f147-69c8-0f26ab2e7c4d@gmx.at> (martin rudalics's message of "Sun, 19 Dec 2021 11:14:32 +0100") 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:222720 Archived-At: >> Maybe it would be possible to change the default behavior of delete-window >> to do what it did in Emacs 27? But honestly, I don't understand how >> this old code managed to select the minibuffer after deleting the >> completions buffer and why its behavior differs after it was moved to Lisp: >> >> - /* Now look whether `get-mru-window' gets us something. */ >> - mru_window = call1 (Qget_mru_window, frame); >> - if (WINDOW_LIVE_P (mru_window) >> - && EQ (XWINDOW (mru_window)->frame, frame)) >> - new_selected_window = mru_window; > > I doubt that anything has changed here - the Emacs 27 code didn't select > the minibuffer window either. What has changed, however, is the value > of the 'quit-restore' parameter of the *Completions* window. With Emacs > 27 it was a a quadruple whose third element was the minibuffer window > which subsequently got selected. With Emacs 28 it is nil. I checked that the value is the same in 27 and 28. But while comparing quit-restore-window in 27 and 28 indeed there are many differences. In 27, quit-restore-window calls window--delete, and then later does `(select-window (nth 2 quit-restore))'. But in 28, for the dedicated *Completions* window it calls window--delete, but doesn't call `(select-window (nth 2 quit-restore))' afterwards, that is another `cond' branch.