From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: About the 'minibuffer' frame parameter Date: Tue, 09 Aug 2016 10:27:55 +0200 Message-ID: <57A9940B.6030005@gmx.at> References: <579E3F9E.8020200@gmx.at> <83h9azl4s1.fsf@gnu.org> <57A4C0DE.3060506@gmx.at> <837fbvkofs.fsf@gnu.org> <57A5AF03.30807@gmx.at> <8360rck7kd.fsf@gnu.org> <57A84256.8030706@gmx.at> <83popji89w.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1470731333 31256 195.159.176.226 (9 Aug 2016 08:28:53 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 9 Aug 2016 08:28:53 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 09 10:28:49 2016 Return-path: Envelope-to: ged-emacs-devel@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 1bX2P2-00080c-LQ for ged-emacs-devel@m.gmane.org; Tue, 09 Aug 2016 10:28:48 +0200 Original-Received: from localhost ([::1]:34193 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bX2Oz-0000qm-Ah for ged-emacs-devel@m.gmane.org; Tue, 09 Aug 2016 04:28:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59162) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bX2OQ-0000i2-NZ for emacs-devel@gnu.org; Tue, 09 Aug 2016 04:28:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bX2OM-0005xe-Fe for emacs-devel@gnu.org; Tue, 09 Aug 2016 04:28:09 -0400 Original-Received: from mout.gmx.net ([212.227.17.20]:63141) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bX2OM-0005xS-4i; Tue, 09 Aug 2016 04:28:06 -0400 Original-Received: from [192.168.1.100] ([212.95.7.105]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MgYGJ-1buSgu3syF-00O0Xg; Tue, 09 Aug 2016 10:28:04 +0200 In-Reply-To: <83popji89w.fsf@gnu.org> X-Provags-ID: V03:K0:HVInIZnXBp9xMPtACJSBkCBA/SjzzFy4taVvNDjo4tRKC8Rx9OM eUgegPwBRSzkJPFiqfSeod2QRfBEVjpLRHqTwMM9KRjoJA+XBpbOr6r1B1QPFPVdGs/lmNb gDphLs1ZgtmYIQDcd6v0eWUAhV2vn9OSUhz2Z/SdaHvwHWB8EdxkSKUVlyDcYYuOZjO46/6 E9zu0mrOI+N3uMtlvtoSQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:RuERjhB+hxg=:CU3uwJ9B/q0UNMIO47DR9p 30NKigGeGs3UM1rva+2lwPvvIkFha9c78Z7EJpkdxGk7hhYc3hYEIm4KQ/OmLV+V247qr3UVp Z4nMz2bcN/FlmPULi5GYcI/r5eQTg/ID3cd4wpMiTO2xisCjyROpg84aktkyBW8hGFbuN2NRr 4nXkq9YvDzjsePB+KY7juGPr5DxNqQZsIG0U6Ma3qGnhOla90pYJX/Gmxe26qojKIMzoW+qkJ RZmzKO0t3TPu097l7pXyBunvWbPen6axEumSG4nQGKabBBsjKxp6vR44u7ZC9zOTp+NV+9SDC eqwrTclbRfkRuChLWLIMP5uZ9yoMzTsFX7zv32dTmCLfQpByuzflAa1++SUy/WftBgGWyqkPJ 4yu/GNsHoY3HYxXHLvtgA+wBcz5ZQppcNcNP2MpoALDWOQX/iPn+r3PUnuRsJulr8uELPbupW zGDVfh0F4aWP7mu4cbTaJ8q2HauwxGXvOgNZ1TgFEbhmMN1wRdgpHjPIRV3qpE8Lu6i7mYseR toQNnGrXFKS76Lev27V0UjUAZxqtdAT0tRRBqn0xmquWMEm+ii94+0EjQ7UkQwVIFKELUHQWe tBO9Vd1XM6InB1X3cvW4jSbnYlCLbibITNaQ7gvjQyhfyiEc/F3H9XBBbafUp+D+Fc31XdM0V sgzwq+9Kky2tHDhudOvqjzegMArYQE95OAMwe9WSeKFUJy8yH+9gX1NYOcIt/luaq19Bc/C5X XjpyPr9LW/Onpx6hcwfE0xeI5IonDZHAvoYwtF1KqayFZF/ENMhk4Na02ra8o2JRQNJ04EEe X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.20 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:206502 Archived-At: > So what is your suggestion for the course of actions? (1) Make sure that store_frame_param doesn't store invalid parameter values. (2) Never store a minibuffer window as frame parameter. (3) Have =E2=80=98frame-parameter=E2=80=99 return the 'minibuffer' parame= ter as stored internally. If no stored value is available, return t. (4) Wait for regression reports. (5) Fix the documentation. (6) Fix/remove related comments. Together (1) and (2) mean that the parameter becomes immutable as occasionally already claimed. (3) will require changes to frameset.el. FWIW, the only code in frameset.el that seems to depend on the old behavior is: (let ((w (frame-parameter f 'minibuffer))) (and (window-live-p w) (window-minibuffer-p w) (eq (window-frame w) f)))) This would be probably replaced by: (let ((w (minibuffer-window f))) (and (window-live-p w) (eq (window-frame w) f)))) If anyone knows about code that does similar things in this or any other package please tell us. One open question is how to handle the minibuffer window in frame configurations. For example, the valid form (let ((minibuffer-less-frame (make-frame '((minibuffer . nil)))) (configuration (current-frame-configuration)) (minibuffer-only-frame (make-frame '((minibuffer . only))))) (set-frame-parameter minibuffer-less-frame 'minibuffer (frame-root-window minibuffer-only-= frame)) (set-frame-configuration configuration)) currently throws an error while (let ((initial-frame (selected-frame)) (minibuffer-less-frame (make-frame '((minibuffer . nil)))) (configuration (current-frame-configuration)) (minibuffer-only-frame (make-frame '((minibuffer . only))))) (set-frame-parameter minibuffer-less-frame 'minibuffer (frame-root-window minibuffer-only-= frame)) (delete-frame initial-frame) (set-frame-configuration configuration)) in addition leaves me with a minibuffer-less frame I can't neither make visible nor deiconify. martin