Subject: bug#7533: closed (Re: bug#7533: 24.0.50; `dired-mark-pop-up': delete frame afterwards if `pop-up-frames')

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 03 Oct 2012 09:13:02 +0000

Your bug report

#7533: 24.0.50; `dired-mark-pop-up': delete frame afterwards if `pop-up-frames'

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
7533: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7533
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#7533: 24.0.50; `dired-mark-pop-up': delete frame afterwards if `pop-up-frames'
From: martin rudalics <[email-masked]>
To: [email-masked]
Cc: Drew Adams <[email-masked]>
Date: Wed, 03 Oct 2012 11:11:52 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

>> This should have been fixed in revision 109863 on Emacs trunk.

Bug closed.

martin

Subject: 24.0.50; `dired-mark-pop-up': delete frame afterwards if `pop-up-frames'
From: "Drew Adams" <[email-masked]>
To: <[email-masked]>
Date: Thu, 2 Dec 2010 10:35:41 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

This is another one of those annoyances that come from not testing with
non-nil `pop-up-frames' (just a guess).
 
emacs -Q
 
M-x set-variable RET pop-up-frames RET t RET
 
In Dired, flag several files for deletion, then hit `x'.
Answer `yes' or `no'.
 
When you hit `x' buffer *Deletions* pops up in its own frame, as it
should.  When you type `yes' or `no', the frame should disappear.  It
should be deleted.  The last part of `dired-mark-pop-up' should be
something like this:
 
(save-window-excursion
  (dired-pop-to-buffer bufname)
  (apply function args)
  (if (one-window-p) (delete-frame) (delete-window))) ; <===== NEW
 
If you don't think the `delete-window' is needed, then just use
(when (one-window-p) (delete-frame)).
 
The important thing, for me, is that the frame that was created just to
show the files that will be deleted (or whatever) goes away.  It should
be only a _temporary_ frame because its only raison d'etre is as part of
the deletion etc. _dialog_.
 
[Martin will explain that a different test from `one-window-p' is more
appropriate. ;-)  IIRC, he generally prefers something like this to
(one-window-p win): (eq win (frame-root-window (window-frame win))).]
 
In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2010-11-30 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4) --no-opt --cflags
-Ic:/imagesupport/include'