[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#3303: delete-frame raises old (invisible) frame
From: |
Stefan Monnier |
Subject: |
bug#3303: delete-frame raises old (invisible) frame |
Date: |
Sun, 17 May 2009 15:06:17 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (gnu/linux) |
> (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
- bug#3303: delete-frame raises old (invisible) frame, David Reitter, 2009/05/15
- bug#3303: delete-frame raises old (invisible) frame,
Stefan Monnier <=
- bug#3303: delete-frame raises old (invisible) frame, David Reitter, 2009/05/17
- bug#3303: delete-frame raises old (invisible) frame, Adrian Robert, 2009/05/17
- bug#3303: delete-frame raises old (invisible) frame, Stefan Monnier, 2009/05/17
- bug#3303: delete-frame raises old (invisible) frame, YAMAMOTO Mitsuharu, 2009/05/18
- bug#3303: delete-frame raises old (invisible) frame, Adrian Robert, 2009/05/18
- bug#3303: delete-frame raises old (invisible) frame, David Reitter, 2009/05/18
- bug#3303: delete-frame raises old (invisible) frame, Stefan Monnier, 2009/05/18