Subject: bug#46155: 28.0.50; Regression: buffer contents flicker on macOS frames when

From: Alan Third <[email-masked]>
Date: Tue, 9 Feb 2021 11:05:08 +0000

On Tue, Feb 09, 2021 at 11:49:55AM +0100, martin rudalics wrote:
> >> Where do you type those letters?  Into the normal frame?
> >
> > No, into the minibuffer-only frame.  After `make-frame` the
> > minibuffer-only frame became focused and accept input.
> 
> Works here on Debian without problems, the minibuffer-only frame expands
> by one character as expected.  I still doubt that this is an NS problem.

In case it matters, the background here is that after a resize Cocoa
doesn't retain the contents of the frame, but since the frame is
garbaged Emacs won't draw anything until redisplay is completed, but
Cocoa won't wait for redisplay, so we end up with a brief blank frame.

The patch Aaron and Andrii are using calls redisplay() just before the
frame is drawn, but only if it is garbaged.

My assumption is that something in this repro recipe is causing
redisplay to refuse to draw the frame until something else has
occurred. I've no idea what that could be and haven't investigated
yet.
-- 
Alan Third