Subject: Re: bug#47731: 28.0.50; Switching frame via keyboard does not fire focus change event

From: Alan Third <[email-masked]>
Date: Thu, 6 May 2021 18:57:53 +0100

On Thu, May 06, 2021 at 11:54:10AM +0200, Lars Ingebrigtsen wrote:
> Sean Farley <[email-masked]> writes:
> 
> > Here is some testing code:
> > (defun test--focus-out ()
> >   (message "FOCUS TEST"))
> >
> > (add-function :after after-focus-change-function #'test--focus-out)
> > (make-frame)
> >
> > On macOS, this code runs fine if you click on the other frame. But if
> > using the keyboard shortcut Command-` the event doesn't fire. It seems
> > to be some interaction in the keydown event function where emacs_event
> > is cleared before the call to windowDidBecomeKey.
> 
> I haven't tested the recipe, but perhaps Alan has some comments here
> (added to the CCs).

Interestingly the NS port only generates Emacs events for things that
happen within the NS run loop, which excludes many things that are
initiated by Emacs itself.

I'm not sure how to fix this as I'm not sure why it's set up this way.
-- 
Alan Third