GNU bug report logs -
#3303
delete-frame raises old (invisible) frame
Previous Next
Full log
View this message in rfc822 format
> (progn
> (make-frame-invisible nil t)
> (make-frame)
> (delete-frame (selected-frame) t))
> will unexpectedly leave one frame visible and raised.
Under GNU/Linux it also leaves a frame visible and raised, but it's not
the one you think: the (selected-frame) call returns the invisible
frame, not the new frame, because `make-frame' did not select the
new frame.
So you may want to prefer
(progn
(make-frame-invisible nil t)
(with-selected-frame (make-frame)
(delete-frame (selected-frame) t)))
which at least under GNU/Linux seems to do the right thing.
Still, the
#ifdef NS_IMPL_COCOA
/* term gets no other notification of this */
if (for_deletion)
Fraise_frame(Qnil);
#endif
in frame.c looks plain wrong and should probably just be deleted:
frame-selection is never intended to raise (or lower) any frame.
If this `raise' is really necessary, then it needs a much more extensive
comment justifying its presence.
Adrian, could you remove this code, or justify clearly why it's here?
Stefan
This bug report was last modified 13 years and 288 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.