Subject: bug#39724: 26.3; Commit 44298ea6aa006ed227e539b02279bd3fc11fd2a6 breaks font display on macOS

From: Alan Third <[email-masked]>
Date: Thu, 5 Mar 2020 18:22:10 +0100 (CET)

On Tue, Feb 25, 2020 at 10:06:33PM +0100, Alan Third wrote:
> On Mon, Feb 24, 2020 at 09:56:04AM -0800, John Wiegley wrote:
> > >>>>> "AT" == Alan Third <[email-masked]> writes:
> > 
> > AT> Are you still using Nix to build Emacs? As I recall it used to use the
> > AT> 10.10 build environment even on more modern versions of macOS, so this
> > AT> could still be an incompatibility between the new drawing code and older
> > AT> versions of macOS/XCode.
> > 
> > I am using Nix, but it passes this:
> > 
> >     -DMAC_OS_X_VERSION_MAX_ALLOWED=101200
> > 
> > Which should be recent enough, I'd think.
> > 
> > I also need to track down the slowness that I'm seeing, to see which commit
> > introduced that. It will take me a few days to gather all of this information,
> > given how slow the test cycles are.
> 
> Could you try the below patch to see if that sorts the background issue?
> 
> modified   src/nsterm.m
> @@ -8240,6 +8240,8 @@ - (void)createDrawingBuffer
>    /* This fixes the scale to match the backing scale factor, and flips the image.  */
>    CGContextTranslateCTM(drawingBuffer, 0, NSHeight (frame) * scale);
>    CGContextScaleCTM(drawingBuffer, scale, -scale);
> +
> +  ns_clear_frame (emacsframe);
>  }
>  
>  
> @@ -8269,7 +8271,6 @@ - (void)windowDidChangeBackingProperties:(NSNotification *)notification
>      {
>        NSRect frame = [self frame];
>        [self createDrawingBuffer];
> -      ns_clear_frame (emacsframe);
>        expose_frame (emacsframe, 0, 0, NSWidth (frame), NSHeight (frame));
>      }
>  }
> 
> 
> I don’t know if I’ve just missed it (I’ve been messing with my email
> set‐up recently) but I’ve not seen the build log you promised.
> 

Hi John, I don’t know if you tried the above patch, but can you please
try building the master branch again? I fixed an issue last night that
may be the same as your problem. I’m not sure because it all depends
on the build environment and what versions of Cocoa are available and
so on, and I think Nix may confuse matters.

-- 
Alan Third