Subject: bug#39883: 28.0.50; macOS blank frame

From: Ashish SHUKLA <[email-masked]>
Date: Sun, 12 Apr 2020 16:29:19 +0530

On 4/12/20 3:23 PM, Alan Third wrote:
> On Sun, Apr 12, 2020 at 11:54:53AM +0530, Ashish SHUKLA wrote:
>> On Apr 11, 2020, at 18:59, Alan Third <[email-masked]> wrote:
>>>
>>> You may have to set this CFLAG to enable the changes:
>>>
>>>    -DMAC_OS_X_VERSION_MAX_ALLOWED=101500
>>
>> Hi
>>
>> Without setting CFLAGS following error occurred:
>>
>> ==================================================================
>>   CC       image.o
>>   CC       json.o
>>   CC       nsterm.o
>>   CC       nsfns.o
>>   CC       nsmenu.o
>>   CC       nsselect.o
>>   CC       nsimage.o
>>   CC       macfont.o
>>   CC       terminfo.o
>>   CC       lastfile.o
>> nsterm.m:6300:21: error: use of undeclared identifier 'drawingBuffer'
>>   CGContextRelease (drawingBuffer);
>>                     ^
>> 1 error generated.
> 
> I’m surprised this didn’t show up before.
> 
>> In file included from <built-in>:360:
>> <command line>:4:9: warning: 'MAC_OS_X_VERSION_MAX_ALLOWED' macro redefined [-Wmacro-redefined]
>> #define MAC_OS_X_VERSION_MAX_ALLOWED 101500
>>         ^
>> <command line>:3:9: note: previous definition is here
>> #define MAC_OS_X_VERSION_MAX_ALLOWED 101200
>>         ^
> 
> This looks suspiciously like you’re already setting that define in
> your configure command. If you’re building with nix check the build
> script. You, or whoever created it, probably had to add the define to
> 101200 (which is macOS 10.12) so it would correctly handle some
> features added since macOS 10.10. I know that John Weigley uses (or
> used) that value.

Looks like that indeed[1] came from John Wiegley's work. I wasn't
overriding it properly in my local emacs derivation. Thanks for pointing
this out.

> 
> There’s a possibility it will appear in a different form, but it will
> be something that either has 101200 or 10.12.
> 
>> nsterm.m:1148:8: error: use of undeclared identifier 'self'
>>   if ([self wantsUpdateLayer])
>>        ^
> 
> Silly mistake on my part.
> 
> New patch attached. You still have to use the other patch from my last
> email as well.

With updated patches, and CFLAGS changed, it fixed the problem. Without
CFLAGS change, it built fine with problem persisting.

References:
[1]
https://github.com/NixOS/nixpkgs/commit/aa2160e1b62bdc6795c465e68301ec8684540b24

Thanks!
-- 
Ashish SHUKLA