On May 17, 2009, at 3:06 PM, Stefan Monnier wrote: > > 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? I think it is there because we need to raise another (visible) frame when a frame is deleted. This is standard behavior (and sensible). However, this should not occur if the other frame is hidden, i.e. if there is no visible and uniconified frame. Im currently experimenting with something like this: #ifdef NS_IMPL_COCOA /* term gets no other notification of this */ if (for_deletion && FRAME_VISIBLE_P (XFRAME (selected_frame)) && FRAME_LIVE_P (XFRAME (selected_frame)) && ! FRAME_ICONIFIED_P (XFRAME (selected_frame))) Fraise_frame(Qnil); #endif - D