From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#8856: 24.0.50; regression: special-display-frame is no longer dedicated Date: Sun, 26 Jun 2011 17:54:34 +0200 Message-ID: <4E07563A.3030704@gmx.at> References: <853BDEF1AA9646ACB90724066E1A5951@us.oracle.com><4DFE09A7.10500@gmx.at><0137606B527A48C69E3D6C704C5C6595@us.oracle.com><4DFF1709.3010409@gmx.at><309F7428711D4BEBB6063C60808D8069@us.oracle.com><4E00C54C.5080108@gmx.at><7AF0B637CAE14034973FBCC658AFEBD9@us.oracle.com><31769215C0FF4E1E89F9F641C5843E91@us.oracle.com><4E033CBA.1050700@gmx.at><4E037708.2000205@gmx.at><4E045081.3020009@gmx.at><90A40DD7F1B14BC1BE282ADB68D57511@us.oracle.com><4E05ED7B.2070307@gmx.at><4023AF2C90A24208ABCC1644CB15F776@us.oracle.com><8A3D5626004B4945A624B69463A0B849@us.oracle.com> <4E06056!E.8030907@gmx.at> <4!E06141D.80302@gmx.at> !<4E07! 390B.7030702@gmx .at> <7E36258F1C874F1199F2630002DC4915@us.oracle.com> <0721F495F4A441529FCB91280D284E42@us.oracle.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1309103732 31668 80.91.229.12 (26 Jun 2011 15:55:32 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 26 Jun 2011 15:55:32 +0000 (UTC) Cc: 8856@debbugs.gnu.org To: Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jun 26 17:55:26 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QargC-0000T5-Rg for geb-bug-gnu-emacs@m.gmane.org; Sun, 26 Jun 2011 17:55:24 +0200 Original-Received: from localhost ([::1]:46214 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QargB-0001Hz-KR for geb-bug-gnu-emacs@m.gmane.org; Sun, 26 Jun 2011 11:55:23 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:47978) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qarfs-0001GY-Ic for bug-gnu-emacs@gnu.org; Sun, 26 Jun 2011 11:55:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qarfr-0008VQ-5m for bug-gnu-emacs@gnu.org; Sun, 26 Jun 2011 11:55:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:44421) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qarfq-0008VM-Pf for bug-gnu-emacs@gnu.org; Sun, 26 Jun 2011 11:55:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1Qarfp-0000iR-RZ; Sun, 26 Jun 2011 11:55:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 26 Jun 2011 15:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8856 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 8856-submit@debbugs.gnu.org id=B8856.13091036842729 (code B ref 8856); Sun, 26 Jun 2011 15:55:01 +0000 Original-Received: (at 8856) by debbugs.gnu.org; 26 Jun 2011 15:54:44 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QarfY-0000hx-JA for submit@debbugs.gnu.org; Sun, 26 Jun 2011 11:54:44 -0400 Original-Received: from mailout-de.gmx.net ([213.165.64.23]) by debbugs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1QarfW-0000hk-4U for 8856@debbugs.gnu.org; Sun, 26 Jun 2011 11:54:43 -0400 Original-Received: (qmail invoked by alias); 26 Jun 2011 15:54:35 -0000 Original-Received: from 62-47-38-149.adsl.highway.telekom.at (EHLO [62.47.38.149]) [62.47.38.149] by mail.gmx.net (mp023) with SMTP; 26 Jun 2011 17:54:35 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19WTHgglnNW0LwaVtCFf4R7jPrgok6AfKEMrQEb4h VucJh+mRnQBosS User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: <0721F495F4A441529FCB91280D284E42@us.oracle.com> X-Y-GMX-Trusted: 0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sun, 26 Jun 2011 11:55:01 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:47507 Archived-At: > I don't have a recipe to reproduce these latter symptoms. But perhaps this is > all due to the window not being dedicated. The window was dedicated initially but due to another `display-buffer' call "reusing it" it became undedicated again. Please use the `display-buffer-in-window' function below which doesn't reset the status when the buffer remains unchanged. martin (defun display-buffer-in-window (buffer window specifiers) "Display BUFFER in WINDOW and raise its frame if needed. WINDOW must be a live window and defaults to the selected one. Return WINDOW. SPECIFIERS must be a list of buffer display specifiers, see the documentation of `display-buffer-alist' for a description." (setq buffer (normalize-live-buffer buffer)) (setq window (normalize-live-window window)) (let* ((old-frame (selected-frame)) (new-frame (window-frame window)) (dedicated (cdr (assq 'dedicated specifiers))) (no-other-window (cdr (assq 'no-other-window specifiers)))) ;; Show BUFFER in WINDOW. (unless (eq buffer (window-buffer window)) ;; If we show another buffer in window, undedicate it first. (set-window-dedicated-p window nil)) (set-window-buffer window buffer) (when dedicated (set-window-dedicated-p window dedicated)) (when no-other-window (set-window-parameter window 'no-other-window t)) (unless (or (eq old-frame new-frame) (not (frame-visible-p new-frame)) ;; Assume the selected frame is already visible enough. (eq new-frame (selected-frame)) ;; Assume the frame from which we invoked the minibuffer ;; is visible. (and (minibuffer-window-active-p (selected-window)) (eq new-frame (window-frame (minibuffer-selected-window))))) (raise-frame new-frame)) ;; Return window. window))