Subject: Re: bug#48406: 28.0.50; Emacs stuck in infinite loop in wait_reading_process_output when opening in fullscreen (NS)

From: Alan Third <[email-masked]>
Date: Wed, 26 May 2021 21:26:39 +0100

On Sun, May 16, 2021 at 11:09:39PM +0300, Andrii Kolomoiets wrote:
> Alan Third <[email-masked]> writes:
> 
> > You know, I'm probably being stupid, but I can't for the life of me
> > remember why we need to wait for the fullscreen transition to
> > complete. I *thought* it was because we had a crash if we didn't, but
> > if I remove the wait it all works just fine...
> 
> Same here.  The code snippets provided in Bug#28496 and Bug#36672 are
> works fine.

I'm really inclined to try removing it and seeing if anyone complains.
I don't think they will.

> > or that the older drawing scheme used before 10.14 has a problem and
> > the new one doesn't... Or something else. Do you have any idea?
> 
> This is the only example that comes to my mind for now:
> 
> (progn
>   (toggle-frame-fullscreen)
>   (toggle-frame-fullscreen))
> 
> Though code like this is not widely used (hope so), it's still some kind
> of unexpected behavior.

Hah, I was expecting it to crash, but it's very well behaved! :)

I guess we could check whether we're already in a fullscreen
transition, and if so schedule another call to happen later on... I'm
not sure if it's really necessary though.

> > I *do* remember that there was a pause required for the non-native
> > fullscreen due to a crash, and I don't think that will have changed,
> > except that I don't think I've heard from anyone still using 10.6 for
> > a couple of years now.
> 
> Well, we can pause for the non-native fullscreen users.

Good news, as far as I can see the pause is no longer required! It's
in ns_fullscreen_hook, so if you remove that and all the other pauses
too, we can try pushing it up to master. (See bug#28443.)
-- 
Alan Third