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#7533: 24.0.50; `dired-mark-pop-up': delete frame afterwards if `pop-up-frames' Date: Fri, 03 Dec 2010 09:17:54 +0100 Message-ID: <4CF8A7B2.5080306@gmx.at> References: <90E09641E9264B37932D2315E5E7E2EA@us.oracle.com> <4CF7EDED.5090500@gmx.at> <44FB8E26FD824BB18AE8A367F560C091@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 1291365930 2310 80.91.229.12 (3 Dec 2010 08:45:30 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 3 Dec 2010 08:45:30 +0000 (UTC) Cc: 7533@debbugs.gnu.org To: Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Dec 03 09:45:25 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PORGe-0006gW-HH for geb-bug-gnu-emacs@m.gmane.org; Fri, 03 Dec 2010 09:45:25 +0100 Original-Received: from localhost ([127.0.0.1]:38920 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PORGe-0006nu-3S for geb-bug-gnu-emacs@m.gmane.org; Fri, 03 Dec 2010 03:45:24 -0500 Original-Received: from [140.186.70.92] (port=39167 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PORGW-0006mZ-Cn for bug-gnu-emacs@gnu.org; Fri, 03 Dec 2010 03:45:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PORGV-00044Q-2t for bug-gnu-emacs@gnu.org; Fri, 03 Dec 2010 03:45:16 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:34964) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PORGV-00044M-03 for bug-gnu-emacs@gnu.org; Fri, 03 Dec 2010 03:45:15 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1POQlK-0003Et-Ut; Fri, 03 Dec 2010 03:13:02 -0500 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: Fri, 03 Dec 2010 08:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7533 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 7533-submit@debbugs.gnu.org id=B7533.129136393612352 (code B ref 7533); Fri, 03 Dec 2010 08:13:02 +0000 Original-Received: (at 7533) by debbugs.gnu.org; 3 Dec 2010 08:12:16 +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 1POQkZ-0003DB-MH for submit@debbugs.gnu.org; Fri, 03 Dec 2010 03:12:15 -0500 Original-Received: from mailout-de.gmx.net ([213.165.64.22] helo=mail.gmx.net) by debbugs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1POQkW-0003Cd-Qk for 7533@debbugs.gnu.org; Fri, 03 Dec 2010 03:12:14 -0500 Original-Received: (qmail invoked by alias); 03 Dec 2010 08:17:54 -0000 Original-Received: from 62-47-44-37.adsl.highway.telekom.at (EHLO [62.47.44.37]) [62.47.44.37] by mail.gmx.net (mp026) with SMTP; 03 Dec 2010 09:17:54 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1/jdzVquXDjj2KRauiCV9aYzEdxUVRIvaILt9qh5+ 0yJqPPJsuVuNKU User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: <44FB8E26FD824BB18AE8A367F560C091@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: Fri, 03 Dec 2010 03:13:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:42101 Archived-At: > Agreed. But what's the right test? It is _not_ `pop-up-frames' non-nil, > because users can do other things than that to cause a new frame to be created > for this dialog. What's needed is a test of whether a frame was newly created > for this dialog buffer. What's the code for that test? In the past, routines usually tested the settings of variables like `pop-up-windows' or `pop-up-frames' to guess the expected behavior of `display-buffer'. In most cases the guesses were correct. In a few corner cases they failed and the example you cite above is one of them. Here I have two things: A window parameter that tells for each window whether the current buffer is the first buffer shown in it and a separate global variable which gives some rudimentary information about what the last `display-buffer' invocation did to find a suitable window. The former exists independently of `display-buffer' so it also works for a "manually" constructed or reused window or frame. The latter is `display-buffer' specific and is mainly used for providing some feedback about the change of the entire window configuration. >> BTW the `save-window-excursion' is completely useless when >> you pop up a new frame. > > Yes, I know. It was already there, and I left it. It seems benign in this case > AFAICT, but feel free to fix this as it really should be fixed. `save-window-excursion' is hardly ever benign. Whenever you find a `display-buffer' wrapped in a `save-window-excursion' you can be 100% sure that the code fails with popped up frames. > The bug report is about the annoyance of not deleting a new frame that was > created (using whatever mechanism, including non-nil `pop-up-frames') for dialog > purposes. When the dialog is finished, such a new frame should disappear. > Users should not need to manually delete it. There's no formal definition of "dialog purpose" in Emacs and it's not easy to do that in general. The major problem to address is whether and how such a dialog can be disrupted by other activities and how to resume it at a later time. martin