From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#48674: Frames and minibuffer bug Date: Thu, 27 May 2021 18:33:45 +0200 Message-ID: <1e21b121-91c1-cbe9-d9ae-24915f163ae5@gmx.at> References: <1911d1b0-ed9f-7359-b28c-fbaef27df8f3@gmx.at> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13500"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 48674@debbugs.gnu.org, Iris =?UTF-8?Q?Garc=C3=ADa?= To: Alan Mackenzie Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu May 27 18:34:14 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 1lmIxZ-0003Je-Uz for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 27 May 2021 18:34:13 +0200 Original-Received: from localhost ([::1]:54992 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmIxY-0003Lw-M7 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 27 May 2021 12:34:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39978) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmIxO-0003LF-RI for bug-gnu-emacs@gnu.org; Thu, 27 May 2021 12:34:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:41136) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmIxN-0005RZ-Ug for bug-gnu-emacs@gnu.org; Thu, 27 May 2021 12:34:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lmIxN-0002Tf-Qn for bug-gnu-emacs@gnu.org; Thu, 27 May 2021 12:34:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 27 May 2021 16:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48674 X-GNU-PR-Package: emacs Original-Received: via spool by 48674-submit@debbugs.gnu.org id=B48674.16221332409516 (code B ref 48674); Thu, 27 May 2021 16:34:01 +0000 Original-Received: (at 48674) by debbugs.gnu.org; 27 May 2021 16:34:00 +0000 Original-Received: from localhost ([127.0.0.1]:52682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmIxM-0002TQ-JS for submit@debbugs.gnu.org; Thu, 27 May 2021 12:34:00 -0400 Original-Received: from mout.gmx.net ([212.227.17.20]:41889) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmIxK-0002TC-Ey for 48674@debbugs.gnu.org; Thu, 27 May 2021 12:33:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1622133231; bh=YFCtMKrQ1f/ZTj3WR3O6/WefstlO1OjT0SS9OQkMuME=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=dpq7yPs22g2reILbDKI5rR0l9sRUROVpJj1IPYtWvUiKsHT3R4fYY1QL0m4C1/vvU TmSriCEO4Y1SdjCF3IzG/b81x6n4DQ3MYC9CUlsaAoU66QkyPvgC/r/N6bxeSUsrtm 8BreqYxiB2uxUuJY7wnThIIiqe/AyIttKH8hU1To= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.100] ([212.95.5.167]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MUosT-1lunFP4BDl-00QnLn; Thu, 27 May 2021 18:33:51 +0200 In-Reply-To: Content-Language: en-US X-Provags-ID: V03:K1:pBPVYIdGEZfTEA6xapRkgrS+ZP4ZMfQ7fGYFN+iJeTHGFDS9pe5 2YayrpHpcL2YaoaH/vnZ6wHoBRiqFWcPrs6gqINfygsr/5K5hCG0lI4oKOV1hko1RX3pM/z H5baMg5TudzY/ZKLlus37amAjeVOJuEiVlUabWkHpmHqLEbusrBX/ASJUPEA1NeuVqK797S /IGLPPjgm07trrNLG4Ogw== X-UI-Out-Filterresults: notjunk:1;V03:K0:FFggQkC1XQ4=:Coo1GvPkj4kaB8K0jGmAlp jkIyHAvRHpfXqm6JxvKbsq/ATOGYlf+XCYD/cuCB96Hw6fa5EhobaDyjmyiFgO/hO2T4Fw2TP Kc+mjr151snDtsNsNGuUblBqSgos76RWp1Im0y0nReD74u+gRDircTD4rJbFK2OY267ShEr4T tXzDWNViONNqwNL5wZXjGWzPJ9eu7Uij4JK6h0ygs0nWHmEC2mfdsKQExS/FSHGLxqsMU+QRe whSUMyGMN6HLRDYlZVza+Eed0+kmrRPWnKZgr/vigzYzlsqvvGiZhmbKi1/+hXjczvwy9fbWn K8ed/y/Vz2Trcg/VT8eMB0AQngt4wC2nF4q7OVJ/gTthMdulh0OqouxTavK+1axz/dNOTDupu L/0uy0GnWAdwFe9gVAZ4A8xp/5aGSN/l+7r6Kt8/2hka/vETuY3oVoD3648L+NEVjMt6K3d4B fW0bIlqBlKoCZFbM7QvYZqQB3KUAS28PV/KZKtRx1Ai064k2Fj9fT4JyvQqR/YxNXbJnhC85B ICoA4wfsEamfFVNX4UJEMfKr65Sg1eVoTDSn+HSjaYGhiBRxeTj+TYXI5/KamoJEa5BiGvxc0 jm0MDd1ZXLJgacJcF6v/REwM/6pwD77FGMgWrqRFp58Vj5g6Fhx7f0I21U8dgDRIJtqQ1CkwD I/+dtn1knLnJwYV+7aTNZSXZQI9IMiuibsjp/PAWKTcdbXeIn6ePY4Zyrh0jnemBygeT7xGP8 v+Oy1RfHUdzneQmcE8BfV4FdT+CkbrzycKwmihQPs3dBPJsMRfhX4c/IrD78w8VlYZSBD1At 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:207388 Archived-At: > What is happening is that the with-selected-frame invocation is > selecting (temporarily) a different frame from the minibuffer's frame. > This has the (intended) side effect of making the MB no longer selected > in that frame. When the MB's frame becomes selected again, nothing > makes the mini-window the selected window. This needs fixing. Does this mean that the Fselect_window (f->selected_window, norecord); in do_switch_frame fails? If so, why? Do we anywhere violate the (eq (selected-window) (frame-selected-window (selected-frame))) invariant? That might be fatal. Both, `with-selected-frame' and `with-selected-window', should leave no traces behind. > Martin, that Qt in the Fselect_window call (the NORECORD argument) - > would it be perhaps be better as Qnil? > > > diff --git a/src/minibuf.c b/src/minibuf.c > index cffb7fe787..3468643a7e 100644 > --- a/src/minibuf.c > +++ b/src/minibuf.c > @@ -893,6 +893,11 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, > > run_hook (Qminibuffer_setup_hook); > > + /* If the above hook has made the mini-window no longer the selected > + window, restore it. */ > + if (!EQ (selected_window, minibuf_window)) > + Fselect_window (minibuf_window , Qt); > + Are we sure that we want to disallow a function on `minibuffer-setup-hook' to change the selected window? With Emacs 27 (defun foo () (select-window (frame-first-window))) (add-hook 'minibuffer-setup-hook 'foo) works without any problems here. The NORECORD argument is important only if you need it - so far, the previous buffers of the minibuffer window were largely ignored. martin