From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#28978: 26.0; Regression: separate, dedicated `*Completions*' frame no longer has parameter `minibuffer' Date: Wed, 25 Oct 2017 07:47:41 -0700 (PDT) Message-ID: <22c73180-e9a6-416f-9e28-da98d07908f8@default> References: <4d0c5535-246a-4356-914f-3c8d030ba9c9@default> <59F0412F.9090206@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1508942913 19402 195.159.176.226 (25 Oct 2017 14:48:33 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 25 Oct 2017 14:48:33 +0000 (UTC) To: martin rudalics , 28978@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Oct 25 16:48:26 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e7MyZ-0002sZ-1Q for geb-bug-gnu-emacs@m.gmane.org; Wed, 25 Oct 2017 16:48:11 +0200 Original-Received: from localhost ([::1]:48626 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e7Myf-0004cF-RR for geb-bug-gnu-emacs@m.gmane.org; Wed, 25 Oct 2017 10:48:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50446) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e7MyU-0004Zk-94 for bug-gnu-emacs@gnu.org; Wed, 25 Oct 2017 10:48:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e7MyQ-0002q3-6I for bug-gnu-emacs@gnu.org; Wed, 25 Oct 2017 10:48:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:53001) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e7MyQ-0002pq-2D for bug-gnu-emacs@gnu.org; Wed, 25 Oct 2017 10:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e7MyP-00023I-QR for bug-gnu-emacs@gnu.org; Wed, 25 Oct 2017 10:48:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 25 Oct 2017 14:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 28978-submit@debbugs.gnu.org id=B28978.15089428727869 (code B ref 28978); Wed, 25 Oct 2017 14:48:01 +0000 Original-Received: (at 28978) by debbugs.gnu.org; 25 Oct 2017 14:47:52 +0000 Original-Received: from localhost ([127.0.0.1]:33449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e7MyG-00022q-3W for submit@debbugs.gnu.org; Wed, 25 Oct 2017 10:47:52 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:19073) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e7MyE-00022d-61 for 28978@debbugs.gnu.org; Wed, 25 Oct 2017 10:47:50 -0400 Original-Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v9PElhlP026285 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Oct 2017 14:47:43 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v9PElhG5027418 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Oct 2017 14:47:43 GMT Original-Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id v9PElgK5018783; Wed, 25 Oct 2017 14:47:43 GMT In-Reply-To: <59F0412F.9090206@gmx.at> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4600.0 (x86)] X-Source-IP: userv0022.oracle.com [156.151.31.74] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:138962 Archived-At: Thanks for looking into this. > > It should be the case in my context that this returns the minibuffer > > window: (cdr (assoc 'minibuffer (frame-parameters > > (# > 000000000cacf6c8>)))) > > > > Instead, it now returns nil. Parameter `minibuffer' for the > > `*Completions*' frame is no longer the minibuffer window; it is nil. >=20 > Since the 'minibuffer' parameter of a frame cannot be changed (from nil > to some non-nil value and vice-versa at least) after its creation,=20 Is that something new? > your code somehow now seems to fail to set up that parameter. > Please show the corresponding part where your code tries to > set the parameter. If necessary, debug it to show that after > the corresponding =E2=80=98make-frame=E2=80=99 call the frame does not ha= ve > that parameter set as requested. I don't call `make-frame' to create frame `*Completions*'. It is created when ` 1on1-display-*Completions*-frame' is called, and that is done by `special-display-function'. I showed the code for that in my previous message. I don't ever set parameter `minibuffer' explicitly for *Completions*. I'm guessing that it has always gotten set automatically when frame input was redirected from frame *Completions* to the standalone minibuffer. (It is redirected to `completion-reference-buffer' if the minibuffer is not active (and if `c-r-b' is not frame *Completions*)). See previous message for that code. The complete code is here: https://www.emacswiki.org/emacs/download/oneonone.el As I say, the code works in all Emacs releases. It does not work in this Emacs 26 prerelease (only). Here is (some of) the code (from icicles-mcmd.el) that relies on the parameter having being set: (defun icicle-delete-windows-on (buffer) "Delete all windows showing BUFFER. If such a window is alone in its frame, then delete the frame - unless it is the only frame or a standalone minibuffer frame." (interactive (list (let ((enable-recursive-minibuffers t)) (read-buffer "Remove all windows showing buffer: " (current-buffer) 'existing)))) (setq buffer (get-buffer buffer)) (when buffer (let* ((this-buffer-frames (icicle-frames-on buffer)) (this-frame (car this-buffer-frames)) mini-param) (unless (and this-frame (frame-visible-p this-frame) (null (cdr this-buffer-frames)) (setq mini-param (cdr (assoc 'minibuffer ; <=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D (frame-parameters this-frame)))) (eq mini-param (active-minibuffer-window)) (save-window-excursion (select-frame this-frame) (one-window-p t 'SELECTED-FRAME-ONLY))) (let (win) (dolist (fr this-buffer-frames) (setq win (get-buffer-window buffer fr)) (select-window win) (if (and (one-window-p t) (cdr (visible-frame-list))) (delete-frame) (delete-window (selected-window)))))))))