Subject: Re: bug#3303: delete-frame raises old (invisible) frame

From: YAMAMOTO Mitsuharu <[email-masked]>
Date: Tue, 19 May 2009 09:58:42 +0900

>>>>> On Mon, 18 May 2009 11:08:39 -0400, David Reitter <[email-masked]> said:

>>>> There is no behavior built into the NS window manager to choose
>>>> another application window to be active after the active one has
>>>> been removed -- this is left to application code.
>>> 
>>> [ So, nothing gets focus?  Keyboard events are just dropped on the
>>> floor in such a case?  Sounds odd: it should be easy for Apple to
>>> provide a sensible default behavior without any negative impact.
>>> ]
>> 
>> Yes, KB events only get sent to a focused window, except for menu
>> shortcut invocations.  It might be that in NSDocument-based apps
>> (which Emacs.app isn't, but would be conceptually similar to if 1-
>> buffer=1-frame) the NSDocument architecture would autofocus the
>> most recently available doc window, but I guess NeXT/Apple decided
>> not to make assumptions otherwise about sensible focus-sequencing.

> Precisely for this reason is the patch not sufficient.

As I mentioned in (*), neither the above consideration about
NSDocument-based vs. non-NSDocument-based nor the updated comment in
frame.c is correct.

*: http://lists.gnu.org/archive/html/bug-gnu-emacs/2009-05/msg00373.html

If you don't observe the problems on the Carbon+AppKit port, then it
indicates that they can most likely be solved without touching the
platform-independent code.

				     YAMAMOTO Mitsuharu
				[email-masked]