unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#39883: 28.0.50; macOS blank frame
@ 2020-03-03  9:42 Philippe Spiesser
  2020-03-03 19:04 ` Alan Third
  2020-03-29 17:47 ` Ashish SHUKLA
  0 siblings, 2 replies; 19+ messages in thread
From: Philippe Spiesser @ 2020-03-03  9:42 UTC (permalink / raw)
  To: 39883

[-- Attachment #1: Type: text/plain, Size: 3595 bytes --]

Hello

Every week, after updating local repositories (git pull), I build Emacs 
27.0.60 and
Emacs 28.0.50.
Since the 14 of February 2020, everything is OK with Emacs 27.0.60 but
Emacs 28 starts in a window with a blank frame without displaying any
character. Keyboard is active and I quit with Ctrl-x Ctrl-c.

Yet, everything is Ok when running same Emacs 28 in a terminal with command
.../Emacs.app/Contents/MacOS/Emacs -nw

On the other hand, everything is OK with Emacs 27.0.50

Thinking that it was a macOS problem, I look at the log for the files
src/ns* and I downgrade the repository with the command
git checkout f674c905dc98a4617c40c4bc115462b4ad2ebfc2
and rebuild Emacs 28. So eveything is OK

I can't explain why updates after this commit cause this behavior.


In GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin17.7.0, NS 
appkit-1561.61 Version 10.13.6 (Build 17G11023))
of 2020-03-02 built on spungen.home
Repository revision: f674c905dc98a4617c40c4bc115462b4ad2ebfc2
Repository branch: HEAD
Windowing system distributor 'Apple', version 10.3.1561
System Description: Mac OS X 10.13.6

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
Undo
Mark set
Undo
Making completion list...

Configured using:
'configure --prefix=/usr/local/Applications --with-ns=yes'

Configured features:
RSVG DBUS GLIB NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS MODULES THREADS PDUMPER LCMS2 GMP

Important settings:
value of $LANG: fr_FR.UTF-8
locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t

Load-path shadows:

None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core term/tty-colors frame
minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
threads dbusbind kqueue cocoa ns lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 45019 7861)
(symbols 48 5930 1)
(strings 32 15241 1747)
(string-bytes 1 505908)
(vectors 16 10150)
(vector-slots 8 126077 6750)
(floats 8 19 44)
(intervals 56 208 0)
(buffers 1000 12))


-- 

	Philippe Spiesser


[-- Attachment #2: Type: text/html, Size: 5124 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-03  9:42 bug#39883: 28.0.50; macOS blank frame Philippe Spiesser
@ 2020-03-03 19:04 ` Alan Third
  2020-03-04 12:18   ` Philippe Spiesser
  2020-03-29 17:47 ` Ashish SHUKLA
  1 sibling, 1 reply; 19+ messages in thread
From: Alan Third @ 2020-03-03 19:04 UTC (permalink / raw)
  To: Philippe Spiesser; +Cc: 39883

On Tue, Mar 03, 2020 at 10:42:28AM +0100, Philippe Spiesser wrote:
> Hello
> 
> Every week, after updating local repositories (git pull), I build Emacs
> 27.0.60 and
> Emacs 28.0.50.
> Since the 14 of February 2020, everything is OK with Emacs 27.0.60 but
> Emacs 28 starts in a window with a blank frame without displaying any
> character. Keyboard is active and I quit with Ctrl-x Ctrl-c.
> 
> Yet, everything is Ok when running same Emacs 28 in a terminal with command
> .../Emacs.app/Contents/MacOS/Emacs -nw
> 
> On the other hand, everything is OK with Emacs 27.0.50
> 
> Thinking that it was a macOS problem, I look at the log for the files
> src/ns* and I downgrade the repository with the command
> git checkout f674c905dc98a4617c40c4bc115462b4ad2ebfc2
> and rebuild Emacs 28. So eveything is OK
> 
> I can't explain why updates after this commit cause this behavior.

Hi Philippe,

I pushed a possible fix for this to the master repository last night.
Could you please try it again?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-03 19:04 ` Alan Third
@ 2020-03-04 12:18   ` Philippe Spiesser
  2020-03-04 20:56     ` Alan Third
  0 siblings, 1 reply; 19+ messages in thread
From: Philippe Spiesser @ 2020-03-04 12:18 UTC (permalink / raw)
  To: Alan Third; +Cc: 39883


[-- Attachment #1.1: Type: text/plain, Size: 1226 bytes --]

Le 03/03/2020 à 20:04, Alan Third a écrit :
> On Tue, Mar 03, 2020 at 10:42:28AM +0100, Philippe Spiesser wrote:
>> Hello
>>
>> Every week, after updating local repositories (git pull), I build Emacs
>> 27.0.60 and
>> Emacs 28.0.50.
>> Since the 14 of February 2020, everything is OK with Emacs 27.0.60 but
>> Emacs 28 starts in a window with a blank frame without displaying any
>> character. Keyboard is active and I quit with Ctrl-x Ctrl-c.
>>
>> Yet, everything is Ok when running same Emacs 28 in a terminal with command
>> .../Emacs.app/Contents/MacOS/Emacs -nw
>>
>> On the other hand, everything is OK with Emacs 27.0.50
>>
>> Thinking that it was a macOS problem, I look at the log for the files
>> src/ns* and I downgrade the repository with the command
>> git checkout f674c905dc98a4617c40c4bc115462b4ad2ebfc2
>> and rebuild Emacs 28. So eveything is OK
>>
>> I can't explain why updates after this commit cause this behavior.
> Hi Philippe,
>
> I pushed a possible fix for this to the master repository last night.
> Could you please try it again?

Hi,

I rebuild Emacs this morning with last commits, but now, no window is 
displayed and Emacs crashes. I join the trace at this mail.

-- 

	Philippe Spiesser


[-- Attachment #1.2: Type: text/html, Size: 1749 bytes --]

[-- Attachment #2: emacs28-crash.txt --]
[-- Type: text/plain, Size: 71548 bytes --]

Process:               Emacs [42842]
Path:                  /usr/local/Applications/Emacs.app/Contents/MacOS/Emacs
Identifier:            org.gnu.Emacs
Version:               Version 28.0.50 (9.0)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Emacs [42842]
User ID:               501

Date/Time:             2020-03-04 13:06:48.116 +0100
OS Version:            Mac OS X 10.13.6 (17G11023)
Report Version:        12
Anonymous UUID:        1A7BB273-9DD2-44A5-6F52-1E58C87F82C8

Sleep/Wake UUID:       89F41848-04A0-400E-BAAF-17BFCE2C3F52

Time Awake Since Boot: 71000 seconds
Time Since Wake:       3700 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGABRT)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
Crashing on exception: Unlocking Focus on wrong view (<NSThemeFrame: 0x7ff9be559e30>), expected <EmacsView: 0x7ff9be559070>

Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff29d140db __exceptionPreprocess + 171
1   libobjc.A.dylib                     0x00007fff51050942 objc_exception_throw + 48
2   CoreFoundation                      0x00007fff29da4475 +[NSException raise:format:] + 197
3   AppKit                              0x00007fff27357425 -[NSView unlockFocus] + 243
4   AppKit                              0x00007fff27acc0c2 -[NSView _oldDisplayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 5093
5   AppKit                              0x00007fff2735ee5d -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 253
6   AppKit                              0x00007fff2735b0b4 -[NSView displayIfNeeded] + 1581
7   AppKit                              0x00007fff2735aa52 -[NSWindow displayIfNeeded] + 321
8   AppKit                              0x00007fff27afb60d ___NSWindowGetDisplayCycleObserver_block_invoke.5902 + 308
9   AppKit                              0x00007fff2735a55e __37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 695
10  QuartzCore                          0x00007fff35028877 _ZN2CA11Transaction19run_commit_handlersE18CATransactionPhase + 49
11  QuartzCore                          0x00007fff35027339 _ZN2CA11Transaction6commitEv + 171
12  AppKit                              0x00007fff27b12a72 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 283
13  CoreFoundation                      0x00007fff29cac6a7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
14  CoreFoundation                      0x00007fff29cac5cf __CFRunLoopDoObservers + 511
15  CoreFoundation                      0x00007fff29c8f098 __CFRunLoopRun + 1240
16  CoreFoundation                      0x00007fff29c8e927 CFRunLoopRunSpecific + 487
17  HIToolbox                           0x00007fff28f6ed96 RunCurrentEventLoopInMode + 286
18  HIToolbox                           0x00007fff28f6ea0f ReceiveNextEventCommon + 366
19  HIToolbox                           0x00007fff28f6e884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
20  AppKit                              0x00007fff2721ba3b _DPSNextEvent + 2085
21  AppKit                              0x00007fff279b1e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
22  AppKit                              0x00007fff2721084d -[NSApplication run] + 764
23  Emacs                               0x000000010d66a245 -[EmacsApp run] + 389
24  Emacs                               0x000000010d6773dd ns_read_socket + 669
25  Emacs                               0x000000010d562973 gobble_input + 259
26  Emacs                               0x000000010d562d25 process_pending_signals + 21
27  Emacs                               0x000000010d575065 emacs_read_quit + 37
28  Emacs                               0x000000010d63b00f call_process + 3231
29  Emacs                               0x000000010d63a33b Fcall_process + 203
30  Emacs                               0x000000010d5e39f8 Ffuncall + 840
31  Emacs                               0x000000010d5e353c Fapply + 588
32  Emacs                               0x000000010d5e39f8 Ffuncall + 840
33  Emacs                               0x000000010d627fce exec_byte_code + 1742
34  Emacs                               0x000000010d5e4855 funcall_lambda + 773
35  Emacs                               0x000000010d5e3999 Ffuncall + 745
36  Emacs                               0x000000010d627fce exec_byte_code + 1742
37  Emacs                               0x000000010d5e4855 funcall_lambda + 773
38  Emacs                               0x000000010d5e3999 Ffuncall + 745
39  Emacs                               0x000000010d627fce exec_byte_code + 1742
40  Emacs                               0x000000010d5e4855 funcall_lambda + 773
41  Emacs                               0x000000010d5e3999 Ffuncall + 745
42  Emacs                               0x000000010d627fce exec_byte_code + 1742
43  Emacs                               0x000000010d5e4855 funcall_lambda + 773
44  Emacs                               0x000000010d5e3232 apply_lambda + 402
45  Emacs                               0x000000010d5df30f eval_sub + 783
46  Emacs                               0x000000010d5df5dd eval_sub + 1501
47  Emacs                               0x000000010d60a672 readevalloop + 1874
48  Emacs                               0x000000010d60a98b Feval_buffer + 363
49  Emacs                               0x000000010d5e4491 funcall_subr + 353
50  Emacs                               0x000000010d5e39f8 Ffuncall + 840
51  Emacs                               0x000000010d627fce exec_byte_code + 1742
52  Emacs                               0x000000010d5e4855 funcall_lambda + 773
53  Emacs                               0x000000010d5e3999 Ffuncall + 745
54  Emacs                               0x000000010d5e4138 call4 + 56
55  Emacs                               0x000000010d6087da Fload + 1946
56  Emacs                               0x000000010d5e4491 funcall_subr + 353
57  Emacs                               0x000000010d5e39f8 Ffuncall + 840
58  Emacs                               0x000000010d627fce exec_byte_code + 1742
59  Emacs                               0x000000010d5e3999 Ffuncall + 745
60  Emacs                               0x000000010d627fce exec_byte_code + 1742
61  Emacs                               0x000000010d5e3999 Ffuncall + 745
62  Emacs                               0x000000010d627fce exec_byte_code + 1742
63  Emacs                               0x000000010d5e3232 apply_lambda + 402
64  Emacs                               0x000000010d5df30f eval_sub + 783
65  Emacs                               0x000000010d5e2f3a Feval + 106
66  Emacs                               0x000000010d5e1f19 internal_condition_case + 281
67  Emacs                               0x000000010d5693fd top_level_1 + 45
68  Emacs                               0x000000010d5e15e7 internal_catch + 279
69  Emacs                               0x000000010d557dff command_loop + 143
70  Emacs                               0x000000010d557d23 recursive_edit_1 + 115
71  Emacs                               0x000000010d557fcb Frecursive_edit + 347
72  Emacs                               0x000000010d556ace main + 7358
73  libdyld.dylib                       0x00007fff51c6b015 start + 1
74  ???                                 0x0000000000000001 0x0 + 1

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff51dbbb66 __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff51f86080 pthread_kill + 333
2   libsystem_c.dylib             	0x00007fff51cc96fe raise + 26
3   org.gnu.Emacs                 	0x000000010d554b78 terminate_due_to_signal + 152 (emacs.c:404)
4   org.gnu.Emacs                 	0x000000010d573131 emacs_abort + 19
5   org.gnu.Emacs                 	0x000000010d66a050 ns_term_shutdown + 80 (lisp.h:1585)
6   org.gnu.Emacs                 	0x000000010d554d99 shut_down_emacs + 345 (emacs.c:2463)
7   org.gnu.Emacs                 	0x000000010d554b46 terminate_due_to_signal + 102 (emacs.c:385)
8   org.gnu.Emacs                 	0x000000010d575f8e handle_fatal_signal + 14
9   org.gnu.Emacs                 	0x000000010d576011 deliver_thread_signal + 129
10  org.gnu.Emacs                 	0x000000010d574929 deliver_fatal_thread_signal + 9
11  libsystem_platform.dylib      	0x00007fff51f79f5a _sigtramp + 26
12  ???                           	0x0000000000000004 0 + 4
13  com.apple.AppKit              	0x00007fff27b12cb1 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 858
14  com.apple.CoreFoundation      	0x00007fff29cac6a7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
15  com.apple.CoreFoundation      	0x00007fff29cac5cf __CFRunLoopDoObservers + 511
16  com.apple.CoreFoundation      	0x00007fff29c8f098 __CFRunLoopRun + 1240
17  com.apple.CoreFoundation      	0x00007fff29c8e927 CFRunLoopRunSpecific + 487
18  com.apple.HIToolbox           	0x00007fff28f6ed96 RunCurrentEventLoopInMode + 286
19  com.apple.HIToolbox           	0x00007fff28f6ea0f ReceiveNextEventCommon + 366
20  com.apple.HIToolbox           	0x00007fff28f6e884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
21  com.apple.AppKit              	0x00007fff2721ba3b _DPSNextEvent + 2085
22  com.apple.AppKit              	0x00007fff279b1e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
23  com.apple.AppKit              	0x00007fff2721084d -[NSApplication run] + 764
24  org.gnu.Emacs                 	0x000000010d66a245 -[EmacsApp run] + 389 (nsterm.m:5605)
25  org.gnu.Emacs                 	0x000000010d6773dd ns_read_socket + 669 (nsterm.m:4564)
26  org.gnu.Emacs                 	0x000000010d562973 gobble_input + 259 (keyboard.c:6887)
27  org.gnu.Emacs                 	0x000000010d562d25 process_pending_signals + 21 (keyboard.c:7128)
28  org.gnu.Emacs                 	0x000000010d575065 emacs_read_quit + 37 (sysdep.c:2638)
29  org.gnu.Emacs                 	0x000000010d63b00f call_process + 3231 (callproc.c:763)
30  org.gnu.Emacs                 	0x000000010d63a33b Fcall_process + 203 (callproc.c:268)
31  org.gnu.Emacs                 	0x000000010d5e39f8 Ffuncall + 840
32  org.gnu.Emacs                 	0x000000010d5e353c Fapply + 588 (eval.c:2424)
33  org.gnu.Emacs                 	0x000000010d5e39f8 Ffuncall + 840
34  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
35  org.gnu.Emacs                 	0x000000010d5e4855 funcall_lambda + 773 (eval.c:3067)
36  org.gnu.Emacs                 	0x000000010d5e3999 Ffuncall + 745
37  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
38  org.gnu.Emacs                 	0x000000010d5e4855 funcall_lambda + 773 (eval.c:3067)
39  org.gnu.Emacs                 	0x000000010d5e3999 Ffuncall + 745
40  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
41  org.gnu.Emacs                 	0x000000010d5e4855 funcall_lambda + 773 (eval.c:3067)
42  org.gnu.Emacs                 	0x000000010d5e3999 Ffuncall + 745
43  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
44  org.gnu.Emacs                 	0x000000010d5e4855 funcall_lambda + 773 (eval.c:3067)
45  org.gnu.Emacs                 	0x000000010d5e3232 apply_lambda + 402 (eval.c:2928)
46  org.gnu.Emacs                 	0x000000010d5df30f eval_sub + 783
47  org.gnu.Emacs                 	0x000000010d5df5dd eval_sub + 1501
48  org.gnu.Emacs                 	0x000000010d60a672 readevalloop + 1874 (lread.c:2087)
49  org.gnu.Emacs                 	0x000000010d60a98b Feval_buffer + 363 (lread.c:2160)
50  org.gnu.Emacs                 	0x000000010d5e4491 funcall_subr + 353 (eval.c:2879)
51  org.gnu.Emacs                 	0x000000010d5e39f8 Ffuncall + 840
52  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
53  org.gnu.Emacs                 	0x000000010d5e4855 funcall_lambda + 773 (eval.c:3067)
54  org.gnu.Emacs                 	0x000000010d5e3999 Ffuncall + 745
55  org.gnu.Emacs                 	0x000000010d5e4138 call4 + 56
56  org.gnu.Emacs                 	0x000000010d6087da Fload + 1946 (lread.c:1372)
57  org.gnu.Emacs                 	0x000000010d5e4491 funcall_subr + 353 (eval.c:2879)
58  org.gnu.Emacs                 	0x000000010d5e39f8 Ffuncall + 840
59  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
60  org.gnu.Emacs                 	0x000000010d5e3999 Ffuncall + 745
61  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
62  org.gnu.Emacs                 	0x000000010d5e3999 Ffuncall + 745
63  org.gnu.Emacs                 	0x000000010d627fce exec_byte_code + 1742 (bytecode.c:633)
64  org.gnu.Emacs                 	0x000000010d5e3232 apply_lambda + 402 (eval.c:2928)
65  org.gnu.Emacs                 	0x000000010d5df30f eval_sub + 783
66  org.gnu.Emacs                 	0x000000010d5e2f3a Feval + 106 (eval.c:3559)
67  org.gnu.Emacs                 	0x000000010d5e1f19 internal_condition_case + 281 (eval.c:1357)
68  org.gnu.Emacs                 	0x000000010d5693fd top_level_1 + 45 (keyboard.c:1108)
69  org.gnu.Emacs                 	0x000000010d5e15e7 internal_catch + 279 (eval.c:1118)
70  org.gnu.Emacs                 	0x000000010d557dff command_loop + 143 (keyboard.c:1070)
71  org.gnu.Emacs                 	0x000000010d557d23 recursive_edit_1 + 115 (keyboard.c:714)
72  org.gnu.Emacs                 	0x000000010d557fcb Frecursive_edit + 347 (keyboard.c:787)
73  org.gnu.Emacs                 	0x000000010d556ace main + 7358 (emacs.c:2037)
74  libdyld.dylib                 	0x00007fff51c6b015 start + 1

Thread 1:: gmain
0   libsystem_kernel.dylib        	0x00007fff51dbd09a poll + 10
1   libglib-2.0.0.dylib           	0x000000010e36d706 g_main_context_iterate + 422
2   libglib-2.0.0.dylib           	0x000000010e36d814 g_main_context_iteration + 100
3   libglib-2.0.0.dylib           	0x000000010e36f486 glib_worker_main + 54
4   libglib-2.0.0.dylib           	0x000000010e398ab2 g_thread_proxy + 66
5   libsystem_pthread.dylib       	0x00007fff51f83661 _pthread_body + 340
6   libsystem_pthread.dylib       	0x00007fff51f8350d _pthread_start + 377
7   libsystem_pthread.dylib       	0x00007fff51f82bf9 thread_start + 13

Thread 2:
0   libsystem_pthread.dylib       	0x00007fff51f82bdc start_wqthread + 0
1   ???                           	0x00000018000c0000 0 + 103080001536

Thread 3:
0   libsystem_pthread.dylib       	0x00007fff51f82bdc start_wqthread + 0
1   ???                           	0x0000000000000030 0 + 48

Thread 4:
0   libsystem_kernel.dylib        	0x00007fff51dbbcf2 __select + 10
1   org.gnu.Emacs                 	0x000000010d66b628 -[EmacsApp fd_handler:] + 264 (nsterm.m:6029)
2   com.apple.Foundation          	0x00007fff2bdb8a18 __NSThread__start__ + 1197
3   libsystem_pthread.dylib       	0x00007fff51f83661 _pthread_body + 340
4   libsystem_pthread.dylib       	0x00007fff51f8350d _pthread_start + 377
5   libsystem_pthread.dylib       	0x00007fff51f82bf9 thread_start + 13

Thread 5:
0   libsystem_kernel.dylib        	0x00007fff51dbc28a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff51f83009 _pthread_wqthread + 1035
2   libsystem_pthread.dylib       	0x00007fff51f82be9 start_wqthread + 13

Thread 6:
0   libsystem_pthread.dylib       	0x00007fff51f82bdc start_wqthread + 0

Thread 7:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff51db21fa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff51db1714 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff29c8ff65 __CFRunLoopServiceMachPort + 341
3   com.apple.CoreFoundation      	0x00007fff29c8f2b7 __CFRunLoopRun + 1783
4   com.apple.CoreFoundation      	0x00007fff29c8e927 CFRunLoopRunSpecific + 487
5   com.apple.AppKit              	0x00007fff27358fc4 _NSEventThread + 184
6   libsystem_pthread.dylib       	0x00007fff51f83661 _pthread_body + 340
7   libsystem_pthread.dylib       	0x00007fff51f8350d _pthread_start + 377
8   libsystem_pthread.dylib       	0x00007fff51f82bf9 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00007fff8a38a380  rcx: 0x00007ffee2762df8  rdx: 0x0000000000000000
  rdi: 0x0000000000000307  rsi: 0x0000000000000006  rbp: 0x00007ffee2762e30  rsp: 0x00007ffee2762df8
   r8: 0x0000600000266f00   r9: 0x00007fff83c0c9d0  r10: 0x0000000000000000  r11: 0x0000000000000287
  r12: 0x0000000000000307  r13: 0x00007ff9be8271f0  r14: 0x0000000000000006  r15: 0x000000000000002d
  rip: 0x00007fff51dbbb66  rfl: 0x0000000000000286  cr2: 0x000000010d559ee0
  
Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133


Binary Images:
       0x10d488000 -        0x10d6d8ff7 +org.gnu.Emacs (Version 28.0.50 - 9.0) <232A08F6-55B0-3CFE-B0B0-30A632F196D8> /usr/local/Applications/Emacs.app/Contents/MacOS/Emacs
       0x10dc01000 -        0x10df38ff7 +librsvg-2.2.dylib (0) <2765F790-274B-3453-99B6-1143DE964E34> /usr/local/opt/librsvg/lib/librsvg-2.2.dylib
       0x10e03e000 -        0x10e18affb +libgio-2.0.0.dylib (0) <47BC4752-392E-3508-B7EA-B244215B6391> /usr/local/opt/glib/lib/libgio-2.0.0.dylib
       0x10e29f000 -        0x10e2b8fff +libgdk_pixbuf-2.0.0.dylib (0) <A9C15A99-D7AA-3388-BBBE-F13247A5DBEA> /usr/local/opt/gdk-pixbuf/lib/libgdk_pixbuf-2.0.0.dylib
       0x10e2cc000 -        0x10e305ff3 +libgobject-2.0.0.dylib (0) <103F38CE-63F9-32B1-99D0-206E7BF1EE5E> /usr/local/opt/glib/lib/libgobject-2.0.0.dylib
       0x10e331000 -        0x10e422ff3 +libglib-2.0.0.dylib (0) <67AC5DDB-A890-3526-878A-CB33E3725158> /usr/local/opt/glib/lib/libglib-2.0.0.dylib
       0x10e47b000 -        0x10e483ffb +libintl.8.dylib (0) <8494AD70-A560-3088-AA1F-12F4DE51ABAB> /usr/local/opt/gettext/lib/libintl.8.dylib
       0x10e488000 -        0x10e48aff7 +libgmodule-2.0.0.dylib (0) <57363AEB-2414-314F-BDAA-B75823A86534> /usr/local/opt/glib/lib/libgmodule-2.0.0.dylib
       0x10e48f000 -        0x10e4d9adf  dyld (551.5) <ACC6AC7F-EAD9-340E-B2A8-AD26FE5B387B> /usr/lib/dyld
       0x10e52d000 -        0x10e5dbff3 +libcairo.2.dylib (0) <1F096AF0-D84A-34E5-8C79-B2B3320E41A6> /usr/local/opt/cairo/lib/libcairo.2.dylib
       0x10e607000 -        0x10e634ffb +libdbus-1.3.dylib (0) <98774F12-4582-397E-A575-5E2102AD9984> /usr/local/opt/dbus/lib/libdbus-1.3.dylib
       0x10e647000 -        0x10e726fff +libxml2.2.dylib (0) <91C94F8A-4260-3F22-88CA-D8086C17FBE9> /usr/local/opt/libxml2/lib/libxml2.2.dylib
       0x10e758000 -        0x10e8b3fd7 +libgnutls.30.dylib (0) <8BCE6042-3A70-3691-8916-39661190BA82> /usr/local/opt/gnutls/lib/libgnutls.30.dylib
       0x10e8fc000 -        0x10e933ff3 +liblcms2.2.dylib (0) <11A72E25-41C9-32DD-9038-FF4BAD63D761> /usr/local/opt/little-cms2/lib/liblcms2.2.dylib
       0x10e945000 -        0x10e9a2fdf +libgmp.10.dylib (0) <F06582B1-2F6E-3F7F-A2BA-E66470FC01D3> /usr/local/opt/gmp/lib/libgmp.10.dylib
       0x10e9ae000 -        0x10e9d0fff +libpng16.16.dylib (0) <211A7B4C-219C-3929-A2CF-D796E3A5F40A> /usr/local/opt/libpng/lib/libpng16.16.dylib
       0x10e9d9000 -        0x10e9defff +libcairo-gobject.2.dylib (0) <21236275-E57D-31D1-B1AF-C9D4519ECA3E> /usr/local/opt/cairo/lib/libcairo-gobject.2.dylib
       0x10e9e4000 -        0x10e9f2fff +libpangocairo-1.0.0.dylib (0) <87A9C8BC-6208-32FE-A43A-33650CAB758F> /usr/local/opt/pango/lib/libpangocairo-1.0.0.dylib
       0x10ea04000 -        0x10ea11fff +libpangoft2-1.0.0.dylib (0) <83AD0611-CAEB-3C6D-96B4-B320B69953C1> /usr/local/opt/pango/lib/libpangoft2-1.0.0.dylib
       0x10ea21000 -        0x10ea59fff +libpango-1.0.0.dylib (0) <E83199E8-BB81-383B-9CF9-9AB8A711B949> /usr/local/opt/pango/lib/libpango-1.0.0.dylib
       0x10ea7f000 -        0x10eb10ff3 +libharfbuzz.0.dylib (0) <DBAAC28A-B1AB-3EBB-ABA0-5DF61301CDFE> /usr/local/opt/harfbuzz/lib/libharfbuzz.0.dylib
       0x10eb54000 -        0x10eb83fff +libfontconfig.1.dylib (0) <DF644C1F-4C8C-372F-A0B4-B03BCB76AEDE> /usr/local/opt/fontconfig/lib/libfontconfig.1.dylib
       0x10eb90000 -        0x10ec0cffb +libfreetype.6.dylib (0) <36C84A2F-9F4B-3626-986D-55146AD52E48> /usr/local/opt/freetype/lib/libfreetype.6.dylib
       0x10ec25000 -        0x10ec48ff7 +libcroco-0.6.3.dylib (0) <34F2EC18-6084-3D98-A8CF-E4559BB7A69B> /usr/local/opt/libcroco/lib/libcroco-0.6.3.dylib
       0x10ec55000 -        0x10eccefff +libpixman-1.0.dylib (0) <B45641D1-30B3-35A4-864C-098EBF0554E1> /usr/local/opt/pixman/lib/libpixman-1.0.dylib
       0x10ece4000 -        0x10ece8ff7 +libffi.6.dylib (0) <986DC089-727D-3563-935B-652AB8C97396> /usr/local/opt/libffi/lib/libffi.6.dylib
       0x10ecec000 -        0x10ed56fff +libpcre.1.dylib (0) <94764018-C82A-380B-81A0-C389EDB4E562> /usr/local/opt/pcre/lib/libpcre.1.dylib
       0x10ed5b000 -        0x10ed73ff7 +libfribidi.0.dylib (0) <E0BE6BE7-5C45-35EC-8BC9-3780187EA1BF> /usr/local/opt/fribidi/lib/libfribidi.0.dylib
       0x10ed77000 -        0x10ed8cff3 +libgraphite2.3.dylib (0) <902BA2A7-0936-317E-A158-67ED52F736EE> /usr/local/opt/graphite2/lib/libgraphite2.3.dylib
       0x10ed95000 -        0x10ee3cff7 +libp11-kit.0.dylib (0) <4D2B253F-40AE-3791-953B-62FD18A0CA40> /usr/local/opt/p11-kit/lib/libp11-kit.0.dylib
       0x10ee86000 -        0x10eea4fff +libidn2.0.dylib (0) <9D626F05-83CB-3447-8ACC-EB639D86AF1B> /usr/local/opt/libidn2/lib/libidn2.0.dylib
       0x10eea8000 -        0x10f00bfff +libunistring.2.dylib (0) <A4545916-E2F4-3D6A-862B-528A6806E9FC> /usr/local/opt/libunistring/lib/libunistring.2.dylib
       0x10f01e000 -        0x10f02afff +libtasn1.6.dylib (0) <4FCAA049-26A7-33F4-A524-EC146524F3A5> /usr/local/opt/libtasn1/lib/libtasn1.6.dylib
       0x10f02e000 -        0x10f053ff7 +libnettle.6.dylib (0) <057A74F3-9008-3D9D-AD5C-676747FB3AF5> /usr/local/opt/nettle/lib/libnettle.6.dylib
       0x10f05d000 -        0x10f086ffb +libhogweed.4.dylib (0) <8A53F23D-4D30-39C8-8C26-D10A8960A309> /usr/local/opt/nettle/lib/libhogweed.4.dylib
       0x11333f000 -        0x113b86fff  com.apple.GeForceTeslaGLDriver (10.4.14 - 10.0.4) <89DC8DE2-03AA-31E1-BA5C-35C0443A01FA> /System/Library/Extensions/GeForceTeslaGLDriver.bundle/Contents/MacOS/GeForceTeslaGLDriver
    0x7fff21f2a000 -     0x7fff22278ff7  com.apple.RawCamera.bundle (8.05.0 - 1017.4.1) <CAF490E6-CB0E-3EF0-B3D2-C4880CF85077> /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
    0x7fff253c9000 -     0x7fff25b46ff7  libclh.dylib (4.0.3 - 4.0.3) <B64F10F6-EE98-31AE-9AB5-73694B36031D> /System/Library/Extensions/GeForceTeslaGLDriver.bundle/Contents/MacOS/libclh.dylib
    0x7fff25eec000 -     0x7fff25eecfff  com.apple.Accelerate (1.11 - Accelerate 1.11) <2EF00EFE-06E8-3082-85C3-2988B422A19D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff25eed000 -     0x7fff25f04ff7  libCGInterfaces.dylib (417.2) <C9175EDD-A2E3-34E9-A72E-1BF895A60DD3> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/Libraries/libCGInterfaces.dylib
    0x7fff25f05000 -     0x7fff26653ffb  com.apple.vImage (8.1 - ???) <56C275C1-459F-37CD-BF29-2E6D81C29E53> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff26654000 -     0x7fff267f4ff3  libBLAS.dylib (1211.50.2) <93259222-2D94-333D-A1EB-09C6FC4A64B4> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff267f5000 -     0x7fff2682ffef  libBNNS.dylib (38.1) <0AAE0109-71D5-3B26-8401-3E62DDF97624> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
    0x7fff26830000 -     0x7fff26c09ff7  libLAPACK.dylib (1211.50.2) <70781D0B-AEAD-33EB-9900-10DC30F37D61> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff26c0a000 -     0x7fff26c20ff7  libLinearAlgebra.dylib (1211.50.2) <FB5A35EA-D636-3D69-AB53-B67E1EB8134C> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff26c21000 -     0x7fff26c26ff3  libQuadrature.dylib (3) <3D6BF66A-55B2-3692-BAC7-DEB0C676ED29> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
    0x7fff26c27000 -     0x7fff26ca7fff  libSparse.dylib (79.50.2) <0DC25CDD-F8C1-3D6E-B472-8B060708424F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
    0x7fff26ca8000 -     0x7fff26cbaff7  libSparseBLAS.dylib (1211.50.2) <994A7D7E-FA3B-3943-A59C-8150B9AF86BE> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
    0x7fff26cbb000 -     0x7fff26e2efe7  libvDSP.dylib (622.50.5) <4BF310F4-31A3-3DA5-80E4-7F8014AD380B> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff26e2f000 -     0x7fff26ee5fef  libvMisc.dylib (622.50.5) <88143A88-4FDE-35A1-85FE-54FF0C2A9E43> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff26ee6000 -     0x7fff26ee6fff  com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <880DEF40-389A-3F56-ACA1-B62A5BC57E59> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff271da000 -     0x7fff28038fff  com.apple.AppKit (6.9 - 1561.61.100) <E4074E39-9A3D-3EFF-9384-DDA7C9666E29> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff2808a000 -     0x7fff2808afff  com.apple.ApplicationServices (48 - 50) <0E4AA883-7EFC-36EE-8B8E-E226E2C37965> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff2808b000 -     0x7fff280f1fff  com.apple.ApplicationServices.ATS (377 - 445.5) <703CE7E4-426A-35C0-A229-F140F30F5340> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff2818a000 -     0x7fff282acfff  libFontParser.dylib (222.1.7) <9C4CEFB4-0F08-3B60-BD50-0120A37F6EA2> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff282ad000 -     0x7fff282f8ff7  libFontRegistry.dylib (221.6) <30C6D1DE-C0E3-3447-A0EF-829443D95F0E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff2834a000 -     0x7fff2834ffff  libFontRegistryUI.dylib (221.6) <C9FF5F1A-07BC-3472-ADD8-C07005E1AB53> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistryUI.dylib
    0x7fff2839d000 -     0x7fff283d0ff7  libTrueTypeScaler.dylib (222.1.7) <E401BD38-5F0E-382F-B4CB-AC6063871C0F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libTrueTypeScaler.dylib
    0x7fff2843a000 -     0x7fff2843eff3  com.apple.ColorSyncLegacy (4.13.0 - 1) <A5FB2694-1559-34A8-A3D3-2029F68A63CA> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
    0x7fff284de000 -     0x7fff28530ffb  com.apple.HIServices (1.22 - 625) <78A1FB4F-A39C-3159-B285-600C997335FB> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff28531000 -     0x7fff2853ffff  com.apple.LangAnalysis (1.7.0 - 1.7.0) <B65FF7E6-E9B5-34D8-8CA7-63D415A8A9A6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff28540000 -     0x7fff2858cfff  com.apple.print.framework.PrintCore (13.4 - 503.2) <B90C67C1-0292-3CEC-885D-F1882CD104BE> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff2858d000 -     0x7fff285c7fff  com.apple.QD (3.12 - 404.2) <38B20AFF-9D54-3B52-A6DC-C0D71380AA5F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff285c8000 -     0x7fff285d4fff  com.apple.speech.synthesis.framework (7.8.1 - 7.8.1) <A08DE016-C8F2-3B0E-BD34-15959D13DBF0> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff285d5000 -     0x7fff28863ff7  com.apple.audio.toolbox.AudioToolbox (1.14 - 1.14) <BAAB5625-A263-3ADD-9026-3F5F07E9171E> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff28865000 -     0x7fff28865fff  com.apple.audio.units.AudioUnit (1.14 - 1.14) <294802B9-E24D-34EB-973F-6D2B8E2E86CB> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff28b88000 -     0x7fff28f25fff  com.apple.CFNetwork (902.5 - 902.5) <2D37E75A-42FD-3CDE-BAE3-D4228EF813F0> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff28f3a000 -     0x7fff28f3afff  com.apple.Carbon (158 - 158) <F8B370D9-2103-3276-821D-ACC756167F86> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff28f3b000 -     0x7fff28f3effb  com.apple.CommonPanels (1.2.6 - 98) <2391761C-5CAA-3F68-86B7-50B37927B104> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff28f3f000 -     0x7fff29244fff  com.apple.HIToolbox (2.1.1 - 911.10) <BF7F9C0E-C732-3FB2-9BBC-362888BDA57B> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff29245000 -     0x7fff29248ffb  com.apple.help (1.3.8 - 66) <DEBADFA8-C189-3195-B0D6-A1F2DE95882A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff29249000 -     0x7fff2924efff  com.apple.ImageCapture (9.0 - 9.0) <23B4916F-3B43-3DFF-B956-FC390EECA284> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff2924f000 -     0x7fff292e4ffb  com.apple.ink.framework (10.9 - 221) <5206C8B0-22DA-36C9-998E-846EDB626D5B> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff292e5000 -     0x7fff292ffff7  com.apple.openscripting (1.7 - 174) <1B2A1F9E-5534-3D61-83CA-9199B39E8708> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff29320000 -     0x7fff29321fff  com.apple.print.framework.Print (12 - 267) <3682ABFB-2561-3419-847D-02C247F4800D> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff29322000 -     0x7fff29324ff7  com.apple.securityhi (9.0 - 55006) <C1406B8D-7D05-3959-808F-9C82189CF57F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff29325000 -     0x7fff2932bfff  com.apple.speech.recognition.framework (6.0.3 - 6.0.3) <2ED8643D-B0C3-3F17-82A2-BBF13E6CBABC> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff2945a000 -     0x7fff29513fff  com.apple.ColorSync (4.13.0 - 3325) <D283C285-447D-3258-A7E4-59532123B8FF> /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff296a0000 -     0x7fff29733ff7  com.apple.audio.CoreAudio (4.3.0 - 4.3.0) <EB35D3EC-56EA-33E6-98DC-BDC3A5FA8ACE> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff2979a000 -     0x7fff297c3ffb  com.apple.CoreBluetooth (1.0 - 1) <E1335074-9D07-370E-8440-61C4874BAC56> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
    0x7fff297c4000 -     0x7fff29b28ff3  com.apple.CoreData (120 - 851) <8D605466-8676-3D45-9A4B-8980971551C3> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff29b29000 -     0x7fff29c0cfff  com.apple.CoreDisplay (99.14 - 99.14) <A1B91ADD-828D-33A0-8A92-CC3F83DF89D0> /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
    0x7fff29c0d000 -     0x7fff2a0a9fff  com.apple.CoreFoundation (6.9 - 1455.12) <D8DF93F5-4558-3B28-8BDF-9739C995D27C> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff2a0ab000 -     0x7fff2a6daff7  com.apple.CoreGraphics (2.0 - 1161.21.3) <1DEF1BEB-08A3-35DA-8372-5C2D8C886EC0> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff2a6dc000 -     0x7fff2a9cbfff  com.apple.CoreImage (13.0.0 - 579.5) <AAE2DFD0-9B0A-3D56-8A3E-C460BAF70394> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff2ac5a000 -     0x7fff2ad50ffb  com.apple.CoreMedia (1.0 - 2276.80.4) <AFFAF63D-5BC4-3DC1-8463-3559F22045B5> /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
    0x7fff2ada0000 -     0x7fff2ada0fff  com.apple.CoreServices (822.37 - 822.37) <7B04988B-C0D4-314E-8B3B-AE446B4A38CD> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff2ada1000 -     0x7fff2ae15ffb  com.apple.AE (735.2 - 735.2) <690A6F47-1306-371F-B257-783D8F83EA9E> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff2ae16000 -     0x7fff2b0edfff  com.apple.CoreServices.CarbonCore (1178.4.2 - 1178.4.2) <08AF7B7B-219B-3957-86CE-C96B423C823C> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff2b0ee000 -     0x7fff2b122fff  com.apple.DictionaryServices (1.2 - 284.2) <6505B075-41C3-3C62-A4C3-85CE3F6825CD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff2b123000 -     0x7fff2b12bffb  com.apple.CoreServices.FSEvents (1239.50.2 - 1239.50.2) <FE465894-4235-3CE2-9A97-32D6C6C7D9AD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff2b12c000 -     0x7fff2b2eaff7  com.apple.LaunchServices (822.37 - 822.37) <6AA93307-220A-3417-BBC2-FE1C0DE0B652> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff2b2eb000 -     0x7fff2b39bfff  com.apple.Metadata (10.7.0 - 1191.7) <3DD530A7-E104-3469-98BB-20449834B2FE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff2b39c000 -     0x7fff2b3fcfff  com.apple.CoreServices.OSServices (822.37 - 822.37) <4AD2FC98-C6CB-392A-A22F-196A723D7FAE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff2b3fd000 -     0x7fff2b46bfff  com.apple.SearchKit (1.4.0 - 1.4.0) <3662545A-B1CF-3079-BDCD-C83855CEFEEE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff2b46c000 -     0x7fff2b490ffb  com.apple.coreservices.SharedFileList (71.21 - 71.21) <1B5228EF-D869-3A50-A373-7F4B0289FADD> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
    0x7fff2b731000 -     0x7fff2b881fff  com.apple.CoreText (352.0 - 578.22) <6129F39D-284D-3BBF-8999-7854AB61C01C> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff2b882000 -     0x7fff2b8bcfff  com.apple.CoreVideo (1.8 - 0.0) <86CCC036-51BB-3DD1-9601-D93798BCCD0F> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff2b8bd000 -     0x7fff2b948ff3  com.apple.framework.CoreWLAN (13.0 - 1350.2) <10C2B6C3-8214-32BC-B4DF-9A8047ABBDC5> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
    0x7fff2bbc3000 -     0x7fff2bbc8fff  com.apple.DiskArbitration (2.7 - 2.7) <2F628584-8177-3894-92CE-9CA6089B61C6> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff2bd89000 -     0x7fff2c150ffb  com.apple.Foundation (6.9 - 1455.12) <3B5567E0-775C-36D2-8052-DA42CA319EEA> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff2c1c1000 -     0x7fff2c1f1ff3  com.apple.GSS (4.0 - 2.0) <FC69A120-3C19-3802-87B4-C29217758143> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff2c303000 -     0x7fff2c407ffb  com.apple.Bluetooth (6.0.7 - 6.0.7f17) <2436CC8D-4DCC-31B1-AA1C-34291C4BEB76> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
    0x7fff2c467000 -     0x7fff2c502fff  com.apple.framework.IOKit (2.0.2 - 1445.71.6) <C68CE7ED-85CA-3D1F-BAA0-908327BEC0DE> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff2c504000 -     0x7fff2c50bfff  com.apple.IOSurface (211.15 - 211.15) <9FD406F1-6BF2-35B0-8339-DF83A1A661EB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff2c562000 -     0x7fff2c6e0fff  com.apple.ImageIO.framework (3.3.0 - 1739.3.3) <761A3609-9C2F-3C5C-AA8C-9D3F5E1A5E17> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff2c6e1000 -     0x7fff2c6e5ffb  libGIF.dylib (1739.3.3) <022B736C-0260-3BC3-9861-D39567791305> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff2c6e6000 -     0x7fff2c7cdff7  libJP2.dylib (1739.3.3) <E3591BD8-7150-393A-9DBA-ED48FD7E213D> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff2c7ce000 -     0x7fff2c7f1fff  libJPEG.dylib (1739.3.3) <65E84EEB-6CF5-396C-B346-B4ED15956F4D> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff2cace000 -     0x7fff2caf4ff3  libPng.dylib (1739.3.3) <AA037EC7-2791-3554-99EC-CCF87F941E95> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff2caf5000 -     0x7fff2caf7ff3  libRadiance.dylib (1739.3.3) <3FA8D375-F4D3-3301-8590-C4C7A34A0099> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff2caf8000 -     0x7fff2cb45ff3  libTIFF.dylib (1739.3.3) <2B3F4EA8-DCA8-370C-8005-76C01E96B9D7> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff2d9ff000 -     0x7fff2da18ff7  com.apple.Kerberos (3.0 - 1) <F86DCCDF-93C1-38B3-82C2-477C12E8EE6D> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff2dcd7000 -     0x7fff2dcdefff  com.apple.MediaAccessibility (1.0 - 114) <9F72AACD-BAEB-3646-BD0F-12C47591C20D> /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessibility
    0x7fff2dd8e000 -     0x7fff2e3f8ff7  com.apple.MediaToolbox (1.0 - 2276.80.4) <BFAB91C2-2731-3D50-A4E0-6138E2D113B6> /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox
    0x7fff2e3fa000 -     0x7fff2e47bfff  com.apple.Metal (125.30 - 125.30) <6B9EBDEE-C64C-3C1C-922A-0363B642C9BC> /System/Library/Frameworks/Metal.framework/Versions/A/Metal
    0x7fff2e498000 -     0x7fff2e4b3fff  com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1) <AD754E8F-CA00-3878-9AF3-208C224A230B> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSCore.framework/Versions/A/MPSCore
    0x7fff2e4b4000 -     0x7fff2e523fef  com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1) <338B7779-E608-3D68-8A07-2ACC11299744> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSImage.framework/Versions/A/MPSImage
    0x7fff2e524000 -     0x7fff2e548fff  com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1) <9CE072D7-853B-3939-9645-7EB951376B87> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
    0x7fff2e549000 -     0x7fff2e630ff7  com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1) <0DE891AD-27E5-38FF-AEC8-4A95356C4357> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
    0x7fff2e631000 -     0x7fff2e631ff7  com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1) <2D2D261C-50B0-32F9-BF9A-5C01382BB528> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
    0x7fff2f630000 -     0x7fff2f63cffb  com.apple.NetFS (6.0 - 4.0) <471DD96F-FA2E-3FE9-9746-2519A6780D1A> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff32425000 -     0x7fff3242dfef  libcldcpuengine.dylib (2.8.7) <EF9A91AC-029C-300A-99E7-4952C15DA09F> /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libcldcpuengine.dylib
    0x7fff3242e000 -     0x7fff32488ff7  com.apple.opencl (2.8.24 - 2.8.24) <CF922AFD-CBA4-3B23-A0C1-E3E5362BB6C7> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff32489000 -     0x7fff324a5ffb  com.apple.CFOpenDirectory (10.13 - 207.50.1) <29F55F7B-379F-3053-8FF3-5C6675A3DD4D> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff324a6000 -     0x7fff324b1fff  com.apple.OpenDirectory (10.13 - 207.50.1) <F895547D-4915-353F-9C1E-E95172BA803B> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff33630000 -     0x7fff33632fff  libCVMSPluginSupport.dylib (16.7.4) <6846D939-478C-3AE3-9DCD-CD4F4CD05409> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff33633000 -     0x7fff33638ffb  libCoreFSCache.dylib (162.9) <DD9DD721-2957-3D05-B361-70AF9EBFB280> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
    0x7fff33639000 -     0x7fff3363dfff  libCoreVMClient.dylib (162.9) <4E4F3EA2-5B53-31A3-8256-54EFAA94E4D6> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff3363e000 -     0x7fff33647ff3  libGFXShared.dylib (16.7.4) <6187AD8B-1CD2-3775-84CD-76A0EA8BCDD4> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff33648000 -     0x7fff33653fff  libGL.dylib (16.7.4) <2BB333D3-5C61-33DF-8545-06DF2D08B83D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff33654000 -     0x7fff3368ffe7  libGLImage.dylib (16.7.4) <4DA003CE-0B74-3FE4-808C-B2FBCE517EB4> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff33690000 -     0x7fff337fdff3  libGLProgrammability.dylib (16.7.4) <694056A5-DAF8-32BB-A75B-F25FE08351AC> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
    0x7fff337fe000 -     0x7fff3383cffb  libGLU.dylib (16.7.4) <BCB09CD8-EB0E-38FA-8B5A-9E29532EE364> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff341b4000 -     0x7fff341c3ff3  com.apple.opengl (16.7.4 - 16.7.4) <7B71A596-B6D8-335A-B7CA-8684D83B9C0E> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff341c4000 -     0x7fff3435bff3  GLEngine (16.7.4) <A07C490D-A5E7-3761-950C-E92369D59CC8> /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLEngine.bundle/GLEngine
    0x7fff3435c000 -     0x7fff34384ffb  GLRendererFloat (16.7.4) <C99363D2-6089-352F-81C5-4098E9B9F787> /System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLRendererFloat.bundle/GLRendererFloat
    0x7fff35017000 -     0x7fff35263ff7  com.apple.QuartzCore (1.11 - 584.64.2) <DDA39332-DE09-3737-A332-0002AE05DD39> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff35a9b000 -     0x7fff35dc6fff  com.apple.security (7.0 - 58286.70.15) <1481D55E-75C7-304D-AA12-D18A5197E508> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff35dc7000 -     0x7fff35e53ff7  com.apple.securityfoundation (6.0 - 55185.50.5) <EB62490A-AA77-3F51-86B3-03669C3897B3> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff35e85000 -     0x7fff35e89ffb  com.apple.xpc.ServiceManagement (1.0 - 1) <590083E5-10A1-3353-A31B-673659A618AE> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff3622e000 -     0x7fff3629eff3  com.apple.SystemConfiguration (1.17 - 1.17) <CD4A4C66-7886-3323-A3B9-0C8952500856> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff36453000 -     0x7fff367cefff  com.apple.VideoToolbox (1.0 - 2276.80.4) <1C94A509-0372-3B58-94BC-4488C042BD79> /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
    0x7fff3919b000 -     0x7fff3922eff3  com.apple.APFS (1.0 - 1) <70034B32-9347-30FB-9DDE-95061F686613> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
    0x7fff39e5b000 -     0x7fff39e83fff  com.apple.framework.Apple80211 (13.0 - 1370.4) <5DA5E7D9-7ACD-3859-83C0-885C177DF0E6> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff39e85000 -     0x7fff39e94fef  com.apple.AppleFSCompression (96.60.1 - 1.0) <A7C875C4-F5EE-3272-AFB6-57C9FD5352B3> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
    0x7fff39f93000 -     0x7fff39f9eff7  com.apple.AppleIDAuthSupport (1.0 - 1) <2FAF5567-CDB3-33EF-AB71-05D37F2248B7> /System/Library/PrivateFrameworks/AppleIDAuthSupport.framework/Versions/A/AppleIDAuthSupport
    0x7fff39fd8000 -     0x7fff3a020ff3  com.apple.AppleJPEG (1.0 - 1) <8DD410CB-76A1-3F22-9A9F-0491FA0CEB4A> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
    0x7fff3a05b000 -     0x7fff3a083fff  com.apple.applesauce (1.0 - ???) <CCA8B094-1BCE-3AE3-A0A7-D544C818DE36> /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
    0x7fff3a150000 -     0x7fff3a1a0ff7  com.apple.AppleVAFramework (5.0.41 - 5.0.41) <3E322B24-26DC-3A1F-A253-425BBAD293D8> /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
    0x7fff3a4d6000 -     0x7fff3a76fffb  com.apple.AuthKit (1.0 - 1) <6CA71A11-91C5-307C-B933-9FCDEDCB580A> /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/AuthKit
    0x7fff3a8a6000 -     0x7fff3a8adff7  com.apple.coreservices.BackgroundTaskManagement (1.0 - 57.1) <51A41CA3-DB1D-3380-993E-99C54AEE518E> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
    0x7fff3a8ae000 -     0x7fff3a935ff7  com.apple.backup.framework (1.9.6 - 1.9.6) <3C96FD26-C7F2-3F37-885A-5A71372FA8F4> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff3c2ef000 -     0x7fff3c2f8ff3  com.apple.CommonAuth (4.0 - 2.0) <21AF4AC2-E650-35F9-AB33-3EBA2769FBC0> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff3c634000 -     0x7fff3ca3cfff  com.apple.CoreAUC (259.0.0 - 259.0.0) <1E0FB2C7-109E-3924-8E7F-8C6ACD78AF26> /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC
    0x7fff3ca3d000 -     0x7fff3ca6dff7  com.apple.CoreAVCHD (5.9.0 - 5900.4.1) <E9FF9574-122A-3966-AA2B-546E512ACD06> /System/Library/PrivateFrameworks/CoreAVCHD.framework/Versions/A/CoreAVCHD
    0x7fff3ce0c000 -     0x7fff3ce1cff7  com.apple.CoreEmoji (1.0 - 69.3) <A4357F5C-0C38-3A61-B456-D7321EB2CEE5> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
    0x7fff3d5b0000 -     0x7fff3d5b8ff3  com.apple.CorePhoneNumbers (1.0 - 1) <A5D41251-9F38-3AB9-9DE7-F77023FAAA44> /System/Library/PrivateFrameworks/CorePhoneNumbers.framework/Versions/A/CorePhoneNumbers
    0x7fff3d743000 -     0x7fff3d774ff3  com.apple.CoreServicesInternal (309.1 - 309.1) <4ECD14EA-A493-3B84-A32F-CF928474A405> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x7fff3daee000 -     0x7fff3db7ffff  com.apple.CoreSymbolication (9.3 - 64026.2) <A8D4315F-5DD5-3164-8672-ECDAF2766644> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
    0x7fff3dc02000 -     0x7fff3dd37fff  com.apple.coreui (2.1 - 494.1) <B2C515C3-FCE8-3B28-A225-05AD917F509B> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff3dd38000 -     0x7fff3de69fff  com.apple.CoreUtils (5.6 - 560.11) <1A02D6F0-8C65-3FAE-AD63-56477EDE4773> /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils
    0x7fff3debe000 -     0x7fff3df22fff  com.apple.framework.CoreWiFi (13.0 - 1350.2) <EA606D5E-0D95-390C-A6D7-F3DF485E6E27> /System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
    0x7fff3df23000 -     0x7fff3df33ff7  com.apple.CrashReporterSupport (10.13 - 1) <1ADEC140-4838-3976-A14B-6268C5251481> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff3dfb2000 -     0x7fff3dfc1ff7  com.apple.framework.DFRFoundation (1.0 - 191.7) <9BBCCA62-F7BA-3B44-B044-E7C12ACC49F2> /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
    0x7fff3dfc4000 -     0x7fff3dfc8ffb  com.apple.DSExternalDisplay (3.1 - 380) <901B7F6D-376A-3848-99D0-170C4D00F776> /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
    0x7fff3e04a000 -     0x7fff3e0c0fff  com.apple.datadetectorscore (7.0 - 590.3) <B4706195-CBE6-320D-A0E1-A9D4BDF52791> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff3e10e000 -     0x7fff3e14eff7  com.apple.DebugSymbols (181.0 - 181.0) <299A0238-ED78-3676-B131-274D972824AA> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
    0x7fff3e14f000 -     0x7fff3e27efff  com.apple.desktopservices (1.12.5 - 1.12.5) <7739C9A5-64D9-31A5-899B-5FFA242AD70D> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff3f093000 -     0x7fff3f4c1fff  com.apple.vision.FaceCore (3.3.2 - 3.3.2) <B574FE33-4A41-3611-9738-388EBAF03E37> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x7fff42771000 -     0x7fff4277cfff  libGPUSupport.dylib (16.7.4) <948B32CD-3AF2-33E7-86C2-A14E39FD34DA> /System/Library/PrivateFrameworks/GPUSupport.framework/Versions/A/Libraries/libGPUSupport.dylib
    0x7fff42789000 -     0x7fff4278efff  com.apple.GPUWrangler (3.20.17 - 3.20.17) <BEA59DDE-A95A-3408-8FCE-6A74520E74AD> /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
    0x7fff43504000 -     0x7fff43513fff  com.apple.GraphVisualizer (1.0 - 5) <B993B8A2-5700-3DFC-9EB7-4CCEE8F959F1> /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
    0x7fff43596000 -     0x7fff4360afff  com.apple.Heimdal (4.0 - 2.0) <BAE3D978-2285-35DF-907E-02BC37986D02> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff43f1d000 -     0x7fff43f24ff7  com.apple.IOAccelerator (378.28 - 378.28) <BE5CBEAA-314E-348B-BE85-7E4B2E4C42FF> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
    0x7fff43f28000 -     0x7fff43f3ffff  com.apple.IOPresentment (1.0 - 35.1) <53B47F2A-9A9A-33F5-ADCB-FF766292B93A> /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
    0x7fff4430a000 -     0x7fff44330ffb  com.apple.IconServices (97.6 - 97.6) <A56D826D-20D2-34BE-AACC-A80CFCB4E915> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
    0x7fff445b5000 -     0x7fff445c8ff3  com.apple.security.KeychainCircle.KeychainCircle (1.0 - 1) <3A6D6354-9CD6-3EE5-B0AB-D25B02D4847D> /System/Library/PrivateFrameworks/KeychainCircle.framework/Versions/A/KeychainCircle
    0x7fff445c9000 -     0x7fff446beff7  com.apple.LanguageModeling (1.0 - 159.5.3) <7F0AC200-E3DD-39FB-8A95-00DD70B66A9F> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff446bf000 -     0x7fff44701fff  com.apple.Lexicon-framework (1.0 - 33.5) <DC94CF9E-1EB4-3C0E-B298-CA1190885276> /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
    0x7fff44705000 -     0x7fff4470cff7  com.apple.LinguisticData (1.0 - 238.3) <49A54649-1021-3DBD-99B8-1B2EDFFA5378> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
    0x7fff44f0c000 -     0x7fff44f0ffff  com.apple.Mangrove (1.0 - 1) <27D6DF76-B5F8-3443-8826-D25B284331BF> /System/Library/PrivateFrameworks/Mangrove.framework/Versions/A/Mangrove
    0x7fff4541f000 -     0x7fff45488ff7  com.apple.gpusw.MetalTools (1.0 - 1) <B4217182-B2AA-3AA3-80E8-F4C80B71BDDC> /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
    0x7fff45491000 -     0x7fff454a8ff7  com.apple.MobileAssets (1.0 - 437.60.1) <5FFD8A8B-F33F-3FA9-8F50-31C24A67862C> /System/Library/PrivateFrameworks/MobileAsset.framework/Versions/A/MobileAsset
    0x7fff45618000 -     0x7fff45631fff  com.apple.MobileKeyBag (2.0 - 1.0) <7D657BC6-B779-3E51-B50D-07C95791DD04> /System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag
    0x7fff456bd000 -     0x7fff456e7ffb  com.apple.MultitouchSupport.framework (1614.1 - 1614.1) <A0709B43-FA9E-3617-8E7A-D68CDFAB2167> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff4594e000 -     0x7fff45959fff  com.apple.NetAuth (6.2 - 6.2) <2CFA1228-61A1-3708-988D-30499A1D6A9F> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff471f2000 -     0x7fff47202ffb  com.apple.PerformanceAnalysis (1.194 - 194) <8022ED1F-CE70-388E-B37B-6FB1E5F90CF2> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x7fff48fc1000 -     0x7fff48fdffff  com.apple.ProtocolBuffer (1 - 260) <40704740-4A53-3010-A49B-08D1D69D1D5E> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
    0x7fff491b6000 -     0x7fff491d9ffb  com.apple.RemoteViewServices (2.0 - 125) <592323D1-CB44-35F1-9921-4C2AB8D920A0> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x7fff4aaff000 -     0x7fff4ac14ff7  com.apple.Sharing (1050.22.6 - 1050.22.6) <4AACAE2C-C003-39B8-AE6F-28566E6B7598> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
    0x7fff4ac3f000 -     0x7fff4ac40ff7  com.apple.performance.SignpostNotification (1.2.6 - 2.6) <8F04800F-3570-3392-A24D-B229FF03F7F9> /System/Library/PrivateFrameworks/SignpostNotification.framework/Versions/A/SignpostNotification
    0x7fff4b99e000 -     0x7fff4bc3afff  com.apple.SkyLight (1.600.0 - 312.103.11) <A4D01EC8-6CED-3AA3-98EA-CD89E2B6559B> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
    0x7fff4c403000 -     0x7fff4c410fff  com.apple.SpeechRecognitionCore (4.6.1 - 4.6.1) <87EE7AB5-6925-3D21-BE00-F155CB457699> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
    0x7fff4c8bd000 -     0x7fff4c8e4fff  com.apple.StreamingZip (1.0 - 1) <32F550C9-3DF8-3DF9-A1EC-699C3D32621B> /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/StreamingZip
    0x7fff4cfb6000 -     0x7fff4d03ffc7  com.apple.Symbolication (9.3 - 64033) <FAA17252-6378-34A4-BBBB-22DF54EC1626> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
    0x7fff4d5af000 -     0x7fff4d5b7ff7  com.apple.TCC (1.0 - 1) <E1EB7272-FE6F-39AB-83CA-B2B5F2A88D9B> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff4d7c4000 -     0x7fff4d881ff7  com.apple.TextureIO (3.7 - 3.7) <F8BAC954-405D-3CC3-AB7B-048C866EF980> /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
    0x7fff4d92b000 -     0x7fff4d92cfff  com.apple.TrustEvaluationAgent (2.0 - 31) <39F533B2-211E-3635-AF47-23F27749FF4A> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff4d932000 -     0x7fff4dae2fff  com.apple.UIFoundation (1.0 - 547.9) <24E3999C-F515-3389-9A82-A13E624F8B89> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
    0x7fff4e7b7000 -     0x7fff4e886ff7  com.apple.ViewBridge (343.2 - 343.2) <5519FCED-1F88-3BE6-9BE1-69992086B01B> /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/ViewBridge
    0x7fff4f25e000 -     0x7fff4f260ffb  com.apple.loginsupport (1.0 - 1) <D1232C1B-80EA-3DF8-9466-013695D0846E> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
    0x7fff4f3c7000 -     0x7fff4f3faff7  libclosured.dylib (551.5) <112BC241-6626-3848-8DD8-B34B5B6F7ABC> /usr/lib/closure/libclosured.dylib
    0x7fff4f4b4000 -     0x7fff4f4edff7  libCRFSuite.dylib (41) <FE5EDB68-2593-3C2E-BBAF-1C52D206F296> /usr/lib/libCRFSuite.dylib
    0x7fff4f4ee000 -     0x7fff4f4f9fff  libChineseTokenizer.dylib (28) <53633C9B-A3A8-36F7-A53C-432D802F4BB8> /usr/lib/libChineseTokenizer.dylib
    0x7fff4f58b000 -     0x7fff4f58cff3  libDiagnosticMessagesClient.dylib (104) <9712E980-76EE-3A89-AEA6-DF4BAF5C0574> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff4f5c3000 -     0x7fff4f78dff3  libFosl_dynamic.dylib (17.8) <C58ED77A-4986-31C2-994C-34DDFB8106F0> /usr/lib/libFosl_dynamic.dylib
    0x7fff4f7c5000 -     0x7fff4f7c5fff  libOpenScriptingUtil.dylib (174) <610F0242-7CE5-3C86-951B-B646562694AF> /usr/lib/libOpenScriptingUtil.dylib
    0x7fff4f8fc000 -     0x7fff4f900ffb  libScreenReader.dylib (562.18.5) <0FEFDAC8-0FDF-38A0-AB88-A84E0DBA058F> /usr/lib/libScreenReader.dylib
    0x7fff4f901000 -     0x7fff4f902ffb  libSystem.B.dylib (1252.50.4) <97EECA63-F728-3F2E-87F3-6DD60DEF17AB> /usr/lib/libSystem.B.dylib
    0x7fff4f995000 -     0x7fff4f995fff  libapple_crypto.dylib (109.50.15) <A8DEA8E9-5769-3C78-824D-969A98B94086> /usr/lib/libapple_crypto.dylib
    0x7fff4f996000 -     0x7fff4f9acff7  libapple_nghttp2.dylib (1.24) <01402BC4-4822-3676-9C80-50D83F816424> /usr/lib/libapple_nghttp2.dylib
    0x7fff4f9ad000 -     0x7fff4f9d7ff3  libarchive.2.dylib (54) <8FC28DD8-E315-3C3E-95FE-D1D2CBE49888> /usr/lib/libarchive.2.dylib
    0x7fff4f9d8000 -     0x7fff4fadbfe7  libate.dylib (1.13.1) <DABEA1B1-806C-34C9-8AFF-DEB6AB2829E3> /usr/lib/libate.dylib
    0x7fff4fadf000 -     0x7fff4fadfff3  libauto.dylib (187) <A05C7900-F8C7-3E75-8D3F-909B40C19717> /usr/lib/libauto.dylib
    0x7fff4fae0000 -     0x7fff4fb99ffb  libboringssl.dylib (109.50.15) <416CBB92-632F-33C2-A774-86ECB4BE46AE> /usr/lib/libboringssl.dylib
    0x7fff4fb9a000 -     0x7fff4fbaaff3  libbsm.0.dylib (39) <6BC96A72-AFBE-34FD-91B1-748A530D8AE6> /usr/lib/libbsm.0.dylib
    0x7fff4fbab000 -     0x7fff4fbb8ffb  libbz2.1.0.dylib (38) <0A5086BB-4724-3C14-979D-5AD4F26B5B45> /usr/lib/libbz2.1.0.dylib
    0x7fff4fbb9000 -     0x7fff4fc0ffff  libc++.1.dylib (400.9) <7D3DACCC-3804-393C-ABC1-1A580FD00CB6> /usr/lib/libc++.1.dylib
    0x7fff4fc10000 -     0x7fff4fc34ff7  libc++abi.dylib (400.8.2) <EF5E37D7-11D9-3530-BE45-B986612D13E2> /usr/lib/libc++abi.dylib
    0x7fff4fc36000 -     0x7fff4fc46fff  libcmph.dylib (6) <890DEC4C-4334-393C-8B56-7C8560BBED9D> /usr/lib/libcmph.dylib
    0x7fff4fc47000 -     0x7fff4fc5efd3  libcompression.dylib (47.60.2) <CC7ACB0A-49CD-3564-978F-49F843186F27> /usr/lib/libcompression.dylib
    0x7fff4ff09000 -     0x7fff4ff21ff7  libcoretls.dylib (155.50.1) <D350052E-DC4D-3185-ADBA-BA48EDCEE955> /usr/lib/libcoretls.dylib
    0x7fff4ff22000 -     0x7fff4ff23ff3  libcoretls_cfhelpers.dylib (155.50.1) <B297F5D8-F2FE-3566-A752-E9D998B9C039> /usr/lib/libcoretls_cfhelpers.dylib
    0x7fff500bc000 -     0x7fff5024dfff  libcrypto.35.dylib (22.50.3) <6E609F99-59BC-3AEA-9DB3-FD360A2C50CC> /usr/lib/libcrypto.35.dylib
    0x7fff503f4000 -     0x7fff50449ff3  libcups.2.dylib (462.2.9) <749D90AB-0F1E-308C-81B6-EA1167F7F5CA> /usr/lib/libcups.2.dylib
    0x7fff50589000 -     0x7fff50589fff  libenergytrace.dylib (16) <A92AB8B8-B986-3CE6-980D-D55090FEF387> /usr/lib/libenergytrace.dylib
    0x7fff5058a000 -     0x7fff505a3ff3  libexpat.1.dylib (16.1.1.1) <BF67821E-1B05-3E26-9EE9-4366CC0DAD03> /usr/lib/libexpat.1.dylib
    0x7fff505c0000 -     0x7fff505c5ff3  libheimdal-asn1.dylib (520.50.9) <EF65C17E-31CD-31DC-876C-BF3EF393099C> /usr/lib/libheimdal-asn1.dylib
    0x7fff505f1000 -     0x7fff506e2ff7  libiconv.2.dylib (51.50.1) <2FEC9707-3FAF-3828-A50D-8605086D060F> /usr/lib/libiconv.2.dylib
    0x7fff506e3000 -     0x7fff5090affb  libicucore.A.dylib (59181.0.1) <2CE6205F-D375-3BF5-AA0A-3254BC4773D0> /usr/lib/libicucore.A.dylib
    0x7fff50957000 -     0x7fff50958fff  liblangid.dylib (128) <39C39393-0D05-301D-93B2-F224FC4949AA> /usr/lib/liblangid.dylib
    0x7fff50959000 -     0x7fff50972ffb  liblzma.5.dylib (10) <3D419A50-961F-37D2-8A01-3DC7AB7B8D18> /usr/lib/liblzma.5.dylib
    0x7fff50973000 -     0x7fff50989ff7  libmarisa.dylib (9) <D6D2D55D-1D2E-3442-B152-B18803C0ABB4> /usr/lib/libmarisa.dylib
    0x7fff50a3a000 -     0x7fff50c62ff7  libmecabra.dylib (779.7.6) <F462F170-E872-3D09-B219-973D5E99C09F> /usr/lib/libmecabra.dylib
    0x7fff50c67000 -     0x7fff50c97ffb  libncurses.5.4.dylib (53) <030DF747-F71B-367A-83EE-2F30B7947929> /usr/lib/libncurses.5.4.dylib
    0x7fff50e3a000 -     0x7fff50fb5fff  libnetwork.dylib (1229.70.2) <E185D902-AC7F-3044-87C0-AE2887C59CE7> /usr/lib/libnetwork.dylib
    0x7fff5103c000 -     0x7fff5142d3b7  libobjc.A.dylib (723) <BEEA51E2-1C4D-3672-87F6-F267B4AC6221> /usr/lib/libobjc.A.dylib
    0x7fff51440000 -     0x7fff51444fff  libpam.2.dylib (22) <7B4D2CE2-1438-387A-9802-5CEEFBF26F86> /usr/lib/libpam.2.dylib
    0x7fff51447000 -     0x7fff5147fff7  libpcap.A.dylib (79.20.3) <6A9D27FA-2780-3E96-8B2E-645638AC13AC> /usr/lib/libpcap.A.dylib
    0x7fff514fe000 -     0x7fff5151affb  libresolv.9.dylib (65.1) <D9BB6307-71E4-3A94-A745-1FCA114C6894> /usr/lib/libresolv.9.dylib
    0x7fff51569000 -     0x7fff5156aff3  libspindump.dylib (252) <D8E27057-E3CC-3D7F-A010-4A87830F6A83> /usr/lib/libspindump.dylib
    0x7fff5156b000 -     0x7fff516f8ff7  libsqlite3.dylib (274.8.1) <B70A2908-E0F7-364E-952A-1D2D19787B89> /usr/lib/libsqlite3.dylib
    0x7fff518cc000 -     0x7fff5192cff3  libusrtcp.dylib (1229.70.2) <1E065228-D0E3-3808-9405-894056C6BEC0> /usr/lib/libusrtcp.dylib
    0x7fff5192d000 -     0x7fff51930ffb  libutil.dylib (51.20.1) <216D18E5-0BAF-3EAF-A38E-F6AC37CBABD9> /usr/lib/libutil.dylib
    0x7fff51931000 -     0x7fff5193eff3  libxar.1.dylib (417.1) <351781D5-3CCF-320F-BB5A-4DFCC1CCD31D> /usr/lib/libxar.1.dylib
    0x7fff51942000 -     0x7fff51a29ff7  libxml2.2.dylib (31.17) <84B491F5-35D4-384A-B224-9B5BF69E8CB7> /usr/lib/libxml2.2.dylib
    0x7fff51a2a000 -     0x7fff51a52fff  libxslt.1.dylib (15.16) <57D56366-1E7B-356C-B2B8-F4688FF666E6> /usr/lib/libxslt.1.dylib
    0x7fff51a53000 -     0x7fff51a65ffb  libz.1.dylib (70) <48C67CFC-940D-3857-8DAD-857774605352> /usr/lib/libz.1.dylib
    0x7fff51b01000 -     0x7fff51b05ff7  libcache.dylib (80) <092479CB-1008-3A83-BECF-E115F24D13C1> /usr/lib/system/libcache.dylib
    0x7fff51b06000 -     0x7fff51b10ff3  libcommonCrypto.dylib (60118.50.1) <029F5985-9B6E-3DCB-9B96-FD007678C6A7> /usr/lib/system/libcommonCrypto.dylib
    0x7fff51b11000 -     0x7fff51b18fff  libcompiler_rt.dylib (62) <968B8E3F-3681-3230-9D78-BB8732024F6E> /usr/lib/system/libcompiler_rt.dylib
    0x7fff51b19000 -     0x7fff51b22ffb  libcopyfile.dylib (146.50.5) <3885083D-50D8-3EEC-B481-B2E605180D7F> /usr/lib/system/libcopyfile.dylib
    0x7fff51b23000 -     0x7fff51ba8ffb  libcorecrypto.dylib (562.70.3) <37AF8EC6-BF34-3D15-BC3A-A9B98F2427D4> /usr/lib/system/libcorecrypto.dylib
    0x7fff51c30000 -     0x7fff51c69ff7  libdispatch.dylib (913.60.3) <BF368549-2DFB-3530-B4CB-31D5EDAC4F2F> /usr/lib/system/libdispatch.dylib
    0x7fff51c6a000 -     0x7fff51c87ff7  libdyld.dylib (551.5) <49BF9E96-8297-30CF-8AA6-128CC14054B2> /usr/lib/system/libdyld.dylib
    0x7fff51c88000 -     0x7fff51c88ffb  libkeymgr.dylib (28) <E34E283E-90FA-3C59-B48E-1277CDB9CDCE> /usr/lib/system/libkeymgr.dylib
    0x7fff51c89000 -     0x7fff51c95ff3  libkxld.dylib (4570.71.69) <E2D67D44-1A1B-3DAC-B66F-62C2BC4FAE17> /usr/lib/system/libkxld.dylib
    0x7fff51c96000 -     0x7fff51c96ff7  liblaunch.dylib (1205.70.15) <0C2EE0E5-BCB8-32AA-84D6-4FA13B7B8103> /usr/lib/system/liblaunch.dylib
    0x7fff51c97000 -     0x7fff51c9bffb  libmacho.dylib (906) <1902A611-081A-3452-B11E-EBD1B166E831> /usr/lib/system/libmacho.dylib
    0x7fff51c9c000 -     0x7fff51c9efff  libquarantine.dylib (86.70.1) <C8252924-BCB2-35D3-BBA3-CEFE4FCB506C> /usr/lib/system/libquarantine.dylib
    0x7fff51c9f000 -     0x7fff51ca0ff3  libremovefile.dylib (45) <711E18B2-5BBE-3211-A916-56740C27D17A> /usr/lib/system/libremovefile.dylib
    0x7fff51ca1000 -     0x7fff51cb8fff  libsystem_asl.dylib (356.70.1) <39E46A6F-B228-3E78-B83E-1779F9707A39> /usr/lib/system/libsystem_asl.dylib
    0x7fff51cb9000 -     0x7fff51cb9fff  libsystem_blocks.dylib (67) <17303FDF-0D2D-3963-B05E-B4DF63052D47> /usr/lib/system/libsystem_blocks.dylib
    0x7fff51cba000 -     0x7fff51d43ff7  libsystem_c.dylib (1244.50.9) <1187BFE8-4576-3247-8177-481554E1F9E7> /usr/lib/system/libsystem_c.dylib
    0x7fff51d44000 -     0x7fff51d47ffb  libsystem_configuration.dylib (963.50.9) <A5DC1AFC-2C3E-3113-BE20-48F96064DB0F> /usr/lib/system/libsystem_configuration.dylib
    0x7fff51d48000 -     0x7fff51d4bffb  libsystem_coreservices.dylib (51) <486000D3-D8CB-3BE7-8EE5-8BF380DE6DF7> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff51d4c000 -     0x7fff51d4dfff  libsystem_darwin.dylib (1244.50.9) <09C21A4A-9EE0-388B-A9D9-DFF8F6758791> /usr/lib/system/libsystem_darwin.dylib
    0x7fff51d4e000 -     0x7fff51d54ffb  libsystem_dnssd.dylib (878.70.4) <A94265A1-309C-3A13-B1FC-ED928FD50C3D> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff51d55000 -     0x7fff51d9eff7  libsystem_info.dylib (517.30.1) <AB634A98-B8AA-3804-8436-38261FC8EC4D> /usr/lib/system/libsystem_info.dylib
    0x7fff51d9f000 -     0x7fff51dc5ff7  libsystem_kernel.dylib (4570.71.69) <6659240B-7798-3AF5-8E0E-970369889449> /usr/lib/system/libsystem_kernel.dylib
    0x7fff51dc6000 -     0x7fff51e11fcb  libsystem_m.dylib (3147.50.1) <17570F46-566C-39FC-BEF6-635A355DD549> /usr/lib/system/libsystem_m.dylib
    0x7fff51e12000 -     0x7fff51e31ff7  libsystem_malloc.dylib (140.50.7) <A45A484C-3BDE-3BC4-A219-726E3CB332D9> /usr/lib/system/libsystem_malloc.dylib
    0x7fff51e32000 -     0x7fff51f62ff7  libsystem_network.dylib (1229.70.2) <5E86B2DE-9E15-3354-8714-4094ED5F698D> /usr/lib/system/libsystem_network.dylib
    0x7fff51f63000 -     0x7fff51f6dffb  libsystem_networkextension.dylib (767.70.2) <9DC03712-552D-3AEE-9519-B5ED70980B70> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff51f6e000 -     0x7fff51f77ff3  libsystem_notify.dylib (172) <08012EC0-2CD2-34BE-BF93-E7F56491299A> /usr/lib/system/libsystem_notify.dylib
    0x7fff51f78000 -     0x7fff51f7fff7  libsystem_platform.dylib (161.50.1) <6355EE2D-5456-3CA8-A227-B96E8F1E2AF8> /usr/lib/system/libsystem_platform.dylib
    0x7fff51f80000 -     0x7fff51f8bfff  libsystem_pthread.dylib (301.50.1) <0E51CCBA-91F2-34E1-BF2A-FEEFD3D321E4> /usr/lib/system/libsystem_pthread.dylib
    0x7fff51f8c000 -     0x7fff51f8ffff  libsystem_sandbox.dylib (765.70.1) <553DFCC6-9D31-3B9C-AB7C-30F6F265786D> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff51f90000 -     0x7fff51f91ff3  libsystem_secinit.dylib (30) <DE8D14E8-A276-3FF8-AE13-77F7040F33C1> /usr/lib/system/libsystem_secinit.dylib
    0x7fff51f92000 -     0x7fff51f99ff7  libsystem_symptoms.dylib (820.60.3) <441C6CA0-5711-3BB1-8420-DDAC3D5272E1> /usr/lib/system/libsystem_symptoms.dylib
    0x7fff51f9a000 -     0x7fff51faeff7  libsystem_trace.dylib (829.70.2) <EEDE7900-3FDB-3841-A47D-2BED9FFBBF5D> /usr/lib/system/libsystem_trace.dylib
    0x7fff51fb0000 -     0x7fff51fb5ff7  libunwind.dylib (35.3) <BEF3FB49-5604-3B5F-82B5-332B80023AC3> /usr/lib/system/libunwind.dylib
    0x7fff51fb6000 -     0x7fff51fe3fff  libxpc.dylib (1205.70.15) <F11A254B-49C3-3CDD-9C0C-273A7C89A70F> /usr/lib/system/libxpc.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 1
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 47028
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=396.3M resident=0K(0%) swapped_out_or_unallocated=396.3M(100%)
Writable regions: Total=79.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=79.5M(100%)
 
                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               128K        2 
Activity Tracing                   256K        2 
CG backing stores                  336K        3 
CoreAnimation                       24K        5 
CoreGraphics                         8K        2 
CoreImage                            8K        3 
CoreUI image data                  728K        7 
CoreUI image file                  180K        3 
Foundation                           4K        2 
Image IO                            64K        2 
Kernel Alloc Once                    8K        2 
MALLOC                            63.9M       44 
MALLOC guard page                   48K       11 
Memory Tag 242                      12K        2 
Memory Tag 251                      28K        2 
OpenGL GLSL                        256K        4 
STACK GUARD                       54.5M        9 
Stack                             13.1M       10 
VM_ALLOCATE                        104K       15 
__DATA                            47.4M      289 
__FONT_DATA                          4K        2 
__GLSLBUILTINS                    2588K        2 
__LINKEDIT                       198.7M       38 
__TEXT                           197.6M      285 
__UNICODE                          560K        2 
mapped file                       60.8M       18 
shared memory                      628K        9 
===========                     =======  ======= 
TOTAL                            641.8M      748 

Model: iMac10,1, BootROM 215.0.0.0.0, 2 processors, Intel Core 2 Duo, 3,06 GHz, 4 GB, SMC 1.52f9
Graphics: NVIDIA GeForce 9400, NVIDIA GeForce 9400
Memory Module: BANK 0/DIMM1, 2 GB, DDR3, 1067 MHz, 0x80CE, 0x4D34373142353637334548312D4346382020
Memory Module: BANK 1/DIMM1, 2 GB, DDR3, 1067 MHz, 0x80CE, 0x4D34373142353637334548312D4346382020
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x8F), Atheros 9280: 4.0.74.0-P2P
Bluetooth: Version 6.0.7f17, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: ST3500418ASQ, 500,11 GB
Serial ATA Device: HL-DT-ST DVDRW  GA11N
USB Device: USB Bus
USB Device: IR Receiver
USB Device: USB Bus
USB Device: Hub in Apple Pro Keyboard
USB Device: Apple Optical USB Mouse
USB Device: Apple Pro Keyboard
USB Device: BRCM2046 Hub
USB Device: Bluetooth USB Host Controller
USB Device: USB 2.0 Bus
USB Device: Built-in iSight
USB Device: USB 2.0 Bus
USB Device: Internal Memory Card Reader
Thunderbolt Bus: 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-04 12:18   ` Philippe Spiesser
@ 2020-03-04 20:56     ` Alan Third
  2020-03-05 10:37       ` Philippe Spiesser
  0 siblings, 1 reply; 19+ messages in thread
From: Alan Third @ 2020-03-04 20:56 UTC (permalink / raw)
  To: Philippe Spiesser; +Cc: 39883

On Wed, Mar 04, 2020 at 01:18:03PM +0100, Philippe Spiesser wrote:
> I rebuild Emacs this morning with last commits, but now, no window is
> displayed and Emacs crashes. I join the trace at this mail.

Thanks for trying it, I think I know what I’ve done wrong.

I’ve pushed another change to master, can you please try again?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-04 20:56     ` Alan Third
@ 2020-03-05 10:37       ` Philippe Spiesser
  2020-03-05 17:16         ` Alan Third
  0 siblings, 1 reply; 19+ messages in thread
From: Philippe Spiesser @ 2020-03-05 10:37 UTC (permalink / raw)
  To: Alan Third; +Cc: 39883

[-- Attachment #1: Type: text/plain, Size: 499 bytes --]

Le 04/03/2020 à 21:56, Alan Third a écrit :
> On Wed, Mar 04, 2020 at 01:18:03PM +0100, Philippe Spiesser wrote:
>> I rebuild Emacs this morning with last commits, but now, no window is
>> displayed and Emacs crashes. I join the trace at this mail.
> Thanks for trying it, I think I know what I’ve done wrong.
>
> I’ve pushed another change to master, can you please try again?

Again, I rebuild Emacs and now, you thought right, this problem is solved.

Thank you.

-- 

	Philippe Spiesser


[-- Attachment #2: Type: text/html, Size: 1068 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-05 10:37       ` Philippe Spiesser
@ 2020-03-05 17:16         ` Alan Third
  0 siblings, 0 replies; 19+ messages in thread
From: Alan Third @ 2020-03-05 17:16 UTC (permalink / raw)
  To: Philippe Spiesser; +Cc: 39883-done

On Thu, Mar 05, 2020 at 11:37:24AM +0100, Philippe Spiesser wrote:
> Le 04/03/2020 à 21:56, Alan Third a écrit :
> > On Wed, Mar 04, 2020 at 01:18:03PM +0100, Philippe Spiesser wrote:
> > > I rebuild Emacs this morning with last commits, but now, no window is
> > > displayed and Emacs crashes. I join the trace at this mail.
> > Thanks for trying it, I think I know what I’ve done wrong.
> > 
> > I’ve pushed another change to master, can you please try again?
> 
> Again, I rebuild Emacs and now, you thought right, this problem is solved.

Thanks for the confirmation. I’ll close this bug report now.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-03  9:42 bug#39883: 28.0.50; macOS blank frame Philippe Spiesser
  2020-03-03 19:04 ` Alan Third
@ 2020-03-29 17:47 ` Ashish SHUKLA
  2020-03-29 18:13   ` Alan Third
  1 sibling, 1 reply; 19+ messages in thread
From: Ashish SHUKLA @ 2020-03-29 17:47 UTC (permalink / raw)
  To: 39883

Hi,

I’m still experiencing the problem. I’ve built emacs git revision 1276c8e10 with following configure flags:

configure flags: --prefix=/nix/store/g1hsxv43gq0jyh3wrm7lmc78z3q1nfbm-emacs-git-20200329.0 --disable-build-details --with-modules --with-ns --disable-ns-self-cont
ained --with-json --with-pdumper

Following is the screenshot of `emacs -Q’ demonstrating the issue in case this bug report is of a different issue:

https://i.imgur.com/YuaL3z3.png

Please let me know if you need any further information from me.

Thanks!
--
Ashish | GPG: F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0

“Sometimes even to live is an act of courage.” (Seneca)






^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-29 17:47 ` Ashish SHUKLA
@ 2020-03-29 18:13   ` Alan Third
  2020-03-29 18:21     ` Ashish SHUKLA
  0 siblings, 1 reply; 19+ messages in thread
From: Alan Third @ 2020-03-29 18:13 UTC (permalink / raw)
  To: Ashish SHUKLA; +Cc: 39883

On Sun, Mar 29, 2020 at 11:17:09PM +0530, Ashish SHUKLA wrote:
> Hi,
> 
> I’m still experiencing the problem. I’ve built emacs git revision 1276c8e10 with following configure flags:
> 
> configure flags: --prefix=/nix/store/g1hsxv43gq0jyh3wrm7lmc78z3q1nfbm-emacs-git-20200329.0 --disable-build-details --with-modules --with-ns --disable-ns-self-cont
> ained --with-json --with-pdumper
> 
> Following is the screenshot of `emacs -Q’ demonstrating the issue in case this bug report is of a different issue:
> 
> https://i.imgur.com/YuaL3z3.png
> 
> Please let me know if you need any further information from me.

Hi, thanks for the report. What version of macOS are you using? Is
this a Nix system?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-29 18:13   ` Alan Third
@ 2020-03-29 18:21     ` Ashish SHUKLA
  2020-03-29 19:54       ` Ashish SHUKLA
  0 siblings, 1 reply; 19+ messages in thread
From: Ashish SHUKLA @ 2020-03-29 18:21 UTC (permalink / raw)
  To: Alan Third; +Cc: 39883



> On Mar 29, 2020, at 23:43, Alan Third <alan@idiocy.org> wrote:
> 
> On Sun, Mar 29, 2020 at 11:17:09PM +0530, Ashish SHUKLA wrote:
>> Hi,
>> 
>> I’m still experiencing the problem. I’ve built emacs git revision 1276c8e10 with following configure flags:
>> 
>> configure flags: --prefix=/nix/store/g1hsxv43gq0jyh3wrm7lmc78z3q1nfbm-emacs-git-20200329.0 --disable-build-details --with-modules --with-ns --disable-ns-self-cont
>> ained --with-json --with-pdumper
>> 
>> Following is the screenshot of `emacs -Q’ demonstrating the issue in case this bug report is of a different issue:
>> 
>> https://i.imgur.com/YuaL3z3.png
>> 
>> Please let me know if you need any further information from me.
> 
> Hi, thanks for the report. What version of macOS are you using? Is
> this a Nix system?

macOS Catalina 10.15.3

λ uname -a
Darwin sthelena.local 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan  9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64

And running nix-darwin with nix-emacs-overlay[1]

References:
[1] https://github.com/nix-community/emacs-overlay

Thanks!
--
Ashish | GPG: F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0

“Sometimes even to live is an act of courage.” (Seneca)






^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-29 18:21     ` Ashish SHUKLA
@ 2020-03-29 19:54       ` Ashish SHUKLA
  2020-03-31 16:52         ` Alan Third
  0 siblings, 1 reply; 19+ messages in thread
From: Ashish SHUKLA @ 2020-03-29 19:54 UTC (permalink / raw)
  To: Alan Third; +Cc: 39883

On 2020-03-29 23:51, Ashish SHUKLA wrote:
>> On Mar 29, 2020, at 23:43, Alan Third <alan@idiocy.org> wrote:
>> 
>> On Sun, Mar 29, 2020 at 11:17:09PM +0530, Ashish SHUKLA wrote:
>>> Hi,
>>> 
>>> I’m still experiencing the problem. I’ve built emacs git revision 
>>> 1276c8e10 with following configure flags:
>>> 
>>> configure flags: 
>>> --prefix=/nix/store/g1hsxv43gq0jyh3wrm7lmc78z3q1nfbm-emacs-git-20200329.0 
>>> --disable-build-details --with-modules --with-ns 
>>> --disable-ns-self-cont
>>> ained --with-json --with-pdumper
>>> 
>>> Following is the screenshot of `emacs -Q’ demonstrating the issue in 
>>> case this bug report is of a different issue:
>>> 
>>> https://i.imgur.com/YuaL3z3.png
>>> 
>>> Please let me know if you need any further information from me.
>> 
>> Hi, thanks for the report. What version of macOS are you using? Is
>> this a Nix system?
> 
> macOS Catalina 10.15.3
> 
> λ uname -a
> Darwin sthelena.local 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan  9
> 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64
> 
> And running nix-darwin with nix-emacs-overlay[1]

It seems like building with same configure flags, but outside nix causes 
issue to disappear. So, maybe it's something to do with the nix 
environment.

Thanks!
--
Ashish

“There was truth and there was untruth, and if you clung to the truth 
even against the whole world, you were not mad.”
        -- George Orwell, "Nineteen Eighty-Four"





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-29 19:54       ` Ashish SHUKLA
@ 2020-03-31 16:52         ` Alan Third
  2020-04-01  4:21           ` Ashish SHUKLA
  0 siblings, 1 reply; 19+ messages in thread
From: Alan Third @ 2020-03-31 16:52 UTC (permalink / raw)
  To: Ashish SHUKLA; +Cc: 39883

On Mon, Mar 30, 2020 at 01:24:59AM +0530, Ashish SHUKLA wrote:
> 
> It seems like building with same configure flags, but outside nix causes
> issue to disappear. So, maybe it's something to do with the nix environment.

Nix used to use headers from macOS 10.10 or thereabouts, even on newer
versions of macOS. I don’t know if this is still the case. The problem
is that our compile‐time feature detection code detects the wrong
features as a result.

Could you perhaps try changing src/nsterm.h so that this:

#define NS_DRAW_TO_BUFFER 1

is always defined? You should be able to just delete or comment out
the #if and #endif.

I don’t know how easy that is for you with Nix, hopefully it’s pretty
straight forward.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-03-31 16:52         ` Alan Third
@ 2020-04-01  4:21           ` Ashish SHUKLA
  2020-04-01 18:53             ` Alan Third
  0 siblings, 1 reply; 19+ messages in thread
From: Ashish SHUKLA @ 2020-04-01  4:21 UTC (permalink / raw)
  To: Alan Third, 39883


[-- Attachment #1.1: Type: text/plain, Size: 1209 bytes --]

On 3/31/20 10:22 PM, Alan Third wrote:
> On Mon, Mar 30, 2020 at 01:24:59AM +0530, Ashish SHUKLA wrote:
>>
>> It seems like building with same configure flags, but outside nix causes
>> issue to disappear. So, maybe it's something to do with the nix environment.
> 
> Nix used to use headers from macOS 10.10 or thereabouts, even on newer
> versions of macOS. I don’t know if this is still the case. The problem
> is that our compile‐time feature detection code detects the wrong
> features as a result.
> 
> Could you perhaps try changing src/nsterm.h so that this:
> 
> #define NS_DRAW_TO_BUFFER 1
> 
> is always defined? You should be able to just delete or comment out
> the #if and #endif.
> 
> I don’t know how easy that is for you with Nix, hopefully it’s pretty
> straight forward.
> 

Hi Alan,

It turns out after deleting those lines the problem is resolved. I will
investigate on Nix side, what went wrong.

Thank you, and I really appreciate your help.

-- 
Ashish SHUKLA | GPG: F682CDCC39DC0FEAE11620B6C746CFA9E74FA4B0

“Indians will believe anything told to them anyway. And besides for the
doubters, there's $%^#~@~~ CARRIER LOST” (Joseph Koshy)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-04-01  4:21           ` Ashish SHUKLA
@ 2020-04-01 18:53             ` Alan Third
  2020-04-02  6:19               ` Ashish SHUKLA
  0 siblings, 1 reply; 19+ messages in thread
From: Alan Third @ 2020-04-01 18:53 UTC (permalink / raw)
  To: Ashish SHUKLA; +Cc: 39883

On Wed, Apr 01, 2020 at 09:51:37AM +0530, Ashish SHUKLA wrote:
> On 3/31/20 10:22 PM, Alan Third wrote:
> > On Mon, Mar 30, 2020 at 01:24:59AM +0530, Ashish SHUKLA wrote:
> >>
> >> It seems like building with same configure flags, but outside nix causes
> >> issue to disappear. So, maybe it's something to do with the nix environment.
> > 
> > Nix used to use headers from macOS 10.10 or thereabouts, even on newer
> > versions of macOS. I don’t know if this is still the case. The problem
> > is that our compile‐time feature detection code detects the wrong
> > features as a result.
> > 
> > Could you perhaps try changing src/nsterm.h so that this:
> > 
> > #define NS_DRAW_TO_BUFFER 1
> > 
> > is always defined? You should be able to just delete or comment out
> > the #if and #endif.
> > 
> > I don’t know how easy that is for you with Nix, hopefully it’s pretty
> > straight forward.
> > 
> 
> Hi Alan,
> 
> It turns out after deleting those lines the problem is resolved. I will
> investigate on Nix side, what went wrong.

It’s quite possible we’ll need to provide some sort of option to force
this, or to do run‐time feature detection. I don’t much fancy trying
to code up the runtime detection for this feature, but if we need it
we need it.

For my own future reference: perhaps we should do a test in
./configure rather than rely on the contents of the headers?
-- 
Alan Third





^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-04-01 18:53             ` Alan Third
@ 2020-04-02  6:19               ` Ashish SHUKLA
  2020-04-11 13:29                 ` Alan Third
  0 siblings, 1 reply; 19+ messages in thread
From: Ashish SHUKLA @ 2020-04-02  6:19 UTC (permalink / raw)
  To: Alan Third, 39883


[-- Attachment #1.1: Type: text/plain, Size: 1608 bytes --]

On 4/2/20 12:23 AM, Alan Third wrote:
> On Wed, Apr 01, 2020 at 09:51:37AM +0530, Ashish SHUKLA wrote:
>> On 3/31/20 10:22 PM, Alan Third wrote:
>>> On Mon, Mar 30, 2020 at 01:24:59AM +0530, Ashish SHUKLA wrote:
>>>>
>>>> It seems like building with same configure flags, but outside nix causes
>>>> issue to disappear. So, maybe it's something to do with the nix environment.
>>>
>>> Nix used to use headers from macOS 10.10 or thereabouts, even on newer
>>> versions of macOS. I don’t know if this is still the case. The problem
>>> is that our compile‐time feature detection code detects the wrong
>>> features as a result.
>>>
>>> Could you perhaps try changing src/nsterm.h so that this:
>>>
>>> #define NS_DRAW_TO_BUFFER 1
>>>
>>> is always defined? You should be able to just delete or comment out
>>> the #if and #endif.
>>>
>>> I don’t know how easy that is for you with Nix, hopefully it’s pretty
>>> straight forward.
>>>
>>
>> Hi Alan,
>>
>> It turns out after deleting those lines the problem is resolved. I will
>> investigate on Nix side, what went wrong.
> 
> It’s quite possible we’ll need to provide some sort of option to force
> this, or to do run‐time feature detection. I don’t much fancy trying
> to code up the runtime detection for this feature, but if we need it
> we need it.
> 
> For my own future reference: perhaps we should do a test in
> ./configure rather than rely on the contents of the headers?
> 

That definitely seems more foolproof. Let me know if you like me to test
your diff.

Thanks!
-- 
Ashish SHUKLA


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-04-02  6:19               ` Ashish SHUKLA
@ 2020-04-11 13:29                 ` Alan Third
  2020-04-12  6:24                   ` Ashish SHUKLA
  0 siblings, 1 reply; 19+ messages in thread
From: Alan Third @ 2020-04-11 13:29 UTC (permalink / raw)
  To: Ashish SHUKLA; +Cc: 39883

[-- Attachment #1: Type: text/plain, Size: 785 bytes --]

On Thu, Apr 02, 2020 at 11:49:45AM +0530, Ashish SHUKLA wrote:
> On 4/2/20 12:23 AM, Alan Third wrote:
> > 
> > It’s quite possible we’ll need to provide some sort of option to force
> > this, or to do run‐time feature detection. I don’t much fancy trying
> > to code up the runtime detection for this feature, but if we need it
> > we need it.
> 
> That definitely seems more foolproof. Let me know if you like me to test
> your diff.

Can you please try the attached patches? The fix for this is built on
the one for fixing frame resizing. Ultimately they should both end up
on master, so I didn’t want to make separate branches and have to
rework them later.

You may have to set this CFLAG to enable the changes:

    -DMAC_OS_X_VERSION_MAX_ALLOWED=101500
-- 
Alan Third

[-- Attachment #2: 0001-Allow-dynamic-choice-of-drawing-path-on-NS-bug-39883.patch --]
[-- Type: text/plain, Size: 11247 bytes --]

From 9fd40868af7e8c298dc844662b9942404ef43bd8 Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Sat, 11 Apr 2020 14:18:39 +0100
Subject: [PATCH] Allow dynamic choice of drawing path on NS (bug#39883)

* src/nsterm.h (NS_DRAW_TO_BUFFER): Let this be enabled on versions
older than 10.14.
* src/nsterm.m (ns_update_begin):
(ns_update_end):
(ns_focus):
(ns_unfocus):
([EmacsView viewDidResize:]):
([EmacsView createDrawingBuffer]):
([EmacsView windowDidChangeBackingProperties:]):
([EmacsView copyRect:to:]):
([EmacsView wantsUpdateLayer]): Dynamically switch between drawing to a
buffer and drawing to the screen, depending on the version of AppKit
in use.
---
 src/nsterm.h |  10 +--
 src/nsterm.m | 227 ++++++++++++++++++++++++++++++++++++---------------
 2 files changed, 165 insertions(+), 72 deletions(-)

diff --git a/src/nsterm.h b/src/nsterm.h
index e142dbd4f0..f5d3c32b8b 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -343,14 +343,8 @@ #define NSTRACE_UNSILENCE()
    therefore we draw to an offscreen buffer and swap it in when the
    toolkit wants to draw the frame. GNUstep and macOS 10.7 and below
    do not support this method, so we revert to drawing directly to the
-   glass.
-
-   FIXME: Should we make this macOS 10.8+, or macOS 10.14+?  I'm
-   inclined to go with 10.14+ as there have been some reports of funny
-   behaviour on 10.13 and below.  It may be worth adding a variable to
-   allow people in the overlapping region to switch between drawing
-   paths.  */
-#if defined (NS_IMPL_COCOA) && defined (MAC_OS_X_VERSION_10_14)
+   glass.  */
+#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
 #define NS_DRAW_TO_BUFFER 1
 #endif
 
diff --git a/src/nsterm.m b/src/nsterm.m
index 9dd1a89d0c..f8ed7e6659 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1144,10 +1144,25 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
 
   ns_updating_frame = f;
 #ifdef NS_DRAW_TO_BUFFER
-  [view focusOnDrawingBuffer];
-#else
-  [view lockFocus];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([self wantsUpdateLayer])
+    {
 #endif
+      [view focusOnDrawingBuffer];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      [view lockFocus];
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+#endif
+
 }
 
 
@@ -1166,15 +1181,29 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
   MOUSE_HL_INFO (f)->mouse_face_defer = 0;
 
 #ifdef NS_DRAW_TO_BUFFER
-  [NSGraphicsContext setCurrentContext:nil];
-  [view setNeedsDisplay:YES];
-#else
-  block_input ();
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([self wantsUpdateLayer])
+    {
+#endif
+      [NSGraphicsContext setCurrentContext:nil];
+      [view setNeedsDisplay:YES];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
 
-  [view unlockFocus];
-  [[view window] flushWindow];
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      block_input ();
 
-  unblock_input ();
+      [view unlockFocus];
+      [[view window] flushWindow];
+
+      unblock_input ();
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
 #endif
   ns_updating_frame = NULL;
 }
@@ -1199,24 +1228,39 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
     }
 
   if (f != ns_updating_frame)
-#ifdef NS_DRAW_TO_BUFFER
-    [view focusOnDrawingBuffer];
-#else
     {
-      if (view != focus_view)
+#ifdef NS_DRAW_TO_BUFFER
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      if ([self wantsUpdateLayer])
         {
-          if (focus_view != NULL)
+#endif
+          [view focusOnDrawingBuffer];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+        }
+      else
+        {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+          if (view != focus_view)
             {
-              [focus_view unlockFocus];
-              [[focus_view window] flushWindow];
-            }
+              if (focus_view != NULL)
+                {
+                  [focus_view unlockFocus];
+                  [[focus_view window] flushWindow];
+                }
 
-          if (view)
-            [view lockFocus];
-          focus_view = view;
+              if (view)
+                [view lockFocus];
+              focus_view = view;
+            }
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
         }
-    }
 #endif
+    }
+
 
   /* clipping */
   if (r)
@@ -1246,16 +1290,30 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
     }
 
 #ifdef NS_DRAW_TO_BUFFER
-  [FRAME_NS_VIEW (f) setNeedsDisplay:YES];
-#else
-  if (f != ns_updating_frame)
+  #if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([self wantsUpdateLayer])
+    {
+#endif
+      [FRAME_NS_VIEW (f) setNeedsDisplay:YES];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
     {
-      if (focus_view != NULL)
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      if (f != ns_updating_frame)
         {
-          [focus_view unlockFocus];
-          [[focus_view window] flushWindow];
-          focus_view = NULL;
+          if (focus_view != NULL)
+            {
+              [focus_view unlockFocus];
+              [[focus_view window] flushWindow];
+              focus_view = NULL;
+            }
         }
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
     }
 #endif
 }
@@ -7253,13 +7311,27 @@ - (void)viewDidResize:(NSNotification *)notification
     return;
 
 #ifdef NS_DRAW_TO_BUFFER
-  CGFloat scale = [[self window] backingScaleFactor];
-  oldw = (CGFloat)CGBitmapContextGetWidth (drawingBuffer) / scale;
-  oldh = (CGFloat)CGBitmapContextGetHeight (drawingBuffer) / scale;
-#else
-  oldw = FRAME_PIXEL_WIDTH (emacsframe);
-  oldh = FRAME_PIXEL_HEIGHT (emacsframe);
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([self wantsUpdateLayer])
+    {
 #endif
+      CGFloat scale = [[self window] backingScaleFactor];
+      oldw = (CGFloat)CGBitmapContextGetWidth (drawingBuffer) / scale;
+      oldh = (CGFloat)CGBitmapContextGetHeight (drawingBuffer) / scale;
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      oldw = FRAME_PIXEL_WIDTH (emacsframe);
+      oldh = FRAME_PIXEL_HEIGHT (emacsframe);
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+#endif
+
   neww = (int)NSWidth (frame);
   newh = (int)NSHeight (frame);
 
@@ -8289,6 +8361,9 @@ - (void)createDrawingBuffer
 {
   NSTRACE ("EmacsView createDrawingBuffer]");
 
+  if (! [self wantsUpdateLayer])
+    return;
+
   NSGraphicsContext *screen;
   CGColorSpaceRef colorSpace = [[[self window] colorSpace] CGColorSpace];
   CGFloat scale = [[self window] backingScaleFactor];
@@ -8324,6 +8399,9 @@ - (void)windowDidChangeBackingProperties:(NSNotification *)notification
 {
   NSTRACE ("EmacsView windowDidChangeBackingProperties:]");
 
+  if (! [self wantsUpdateLayer])
+    return;
+
   CGFloat old = [[[notification userInfo]
                     objectForKey:@"NSBackingPropertyOldScaleFactorKey"]
                   doubleValue];
@@ -8347,41 +8425,56 @@ - (void)copyRect:(NSRect)srcRect to:(NSRect)dstRect
   NSTRACE_RECT ("Destination", dstRect);
 
 #ifdef NS_DRAW_TO_BUFFER
-  CGImageRef copy;
-  NSRect frame = [self frame];
-  NSAffineTransform *setOrigin = [NSAffineTransform transform];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([self wantsUpdateLayer])
+    {
+#endif
+      CGImageRef copy;
+      NSRect frame = [self frame];
+      NSAffineTransform *setOrigin = [NSAffineTransform transform];
 
-  [[NSGraphicsContext currentContext] saveGraphicsState];
+      [[NSGraphicsContext currentContext] saveGraphicsState];
 
-  /* Set the clipping before messing with the buffer's
-     orientation.  */
-  NSRectClip (dstRect);
+      /* Set the clipping before messing with the buffer's
+         orientation.  */
+      NSRectClip (dstRect);
 
-  /* Unflip the buffer as the copied image will be unflipped, and
-     offset the top left so when we draw back into the buffer the
-     correct part of the image is drawn.  */
-  CGContextScaleCTM(drawingBuffer, 1, -1);
-  CGContextTranslateCTM(drawingBuffer,
-                        NSMinX (dstRect) - NSMinX (srcRect),
-                        -NSHeight (frame) - (NSMinY (dstRect) - NSMinY (srcRect)));
+      /* Unflip the buffer as the copied image will be unflipped, and
+         offset the top left so when we draw back into the buffer the
+         correct part of the image is drawn.  */
+      CGContextScaleCTM(drawingBuffer, 1, -1);
+      CGContextTranslateCTM(drawingBuffer,
+                            NSMinX (dstRect) - NSMinX (srcRect),
+                            -NSHeight (frame) - (NSMinY (dstRect) - NSMinY (srcRect)));
 
-  /* Take a copy of the buffer and then draw it back to the buffer,
-     limited by the clipping rectangle.  */
-  copy = CGBitmapContextCreateImage (drawingBuffer);
-  CGContextDrawImage (drawingBuffer, frame, copy);
+      /* Take a copy of the buffer and then draw it back to the buffer,
+         limited by the clipping rectangle.  */
+      copy = CGBitmapContextCreateImage (drawingBuffer);
+      CGContextDrawImage (drawingBuffer, frame, copy);
 
-  CGImageRelease (copy);
+      CGImageRelease (copy);
 
-  [[NSGraphicsContext currentContext] restoreGraphicsState];
-  [self setNeedsDisplayInRect:dstRect];
-#else
-  hide_bell();              // Ensure the bell image isn't scrolled.
+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+      [self setNeedsDisplayInRect:dstRect];
 
-  ns_focus (emacsframe, &dstRect, 1);
-  [self scrollRect: srcRect
-                by: NSMakeSize (dstRect.origin.x - srcRect.origin.x,
-                                dstRect.origin.y - srcRect.origin.y)];
-  ns_unfocus (emacsframe);
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      hide_bell();              // Ensure the bell image isn't scrolled.
+
+      ns_focus (emacsframe, &dstRect, 1);
+      [self scrollRect: srcRect
+                    by: NSMakeSize (dstRect.origin.x - srcRect.origin.x,
+                                    dstRect.origin.y - srcRect.origin.y)];
+      ns_unfocus (emacsframe);
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
 #endif
 }
 
@@ -8389,7 +8482,13 @@ - (void)copyRect:(NSRect)srcRect to:(NSRect)dstRect
 #ifdef NS_DRAW_TO_BUFFER
 - (BOOL)wantsUpdateLayer
 {
-    return YES;
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if (NSAppKitVersionNumber < 1671)
+    return NO;
+#endif
+
+  /* Running on macOS 10.14 or above.  */
+  return YES;
 }
 
 
-- 
2.26.0


[-- Attachment #3: v5-0001-Fix-NS-frame-resizing-issues-bug-40200-bug-28872.patch --]
[-- Type: text/plain, Size: 18870 bytes --]

From 579f006d912d6a2ce2bf4bb5629dbcb6fba076b5 Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Sat, 4 Apr 2020 15:13:58 +0100
Subject: [PATCH v5] Fix NS frame resizing issues (bug#40200, bug#28872)

* src/nsmenu.m (update_frame_tool_bar): Remove reference to
updateFrameSize.
* src/nsterm.h: ([EmacsView updateFrameSize]):
([EmacsView setRows:andColumns:]): Remove unused
method definitions.
(NS_PARENT_WINDOW_LEFT_POS):
(NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m.
* src/nsterm.m (ns_parent_window_rect): New function.
(NS_PARENT_WINDOW_LEFT_POS):
(NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m and simplify.
(ns_set_offset): Fix strange behaviours when using negative values.
(ns_set_window_size):
(ns_set_undecorated):
([EmacsView windowDidResize:]):
([EmacsView windowDidExitFullScreen]):
(ns_judge_scroll_bars): Remove references to updateFrameSize.
([EmacsView dealloc]): Unset resize notification and release buffer.
([EmacsView updateFrameSize:]): Remove function.
([EmacsView windowWillResize:toSize:]): Move some code to
viewDidResize.
([EmacsView viewDidResize]): New function.
([EmacsView initFrameFromEmacs:]): Set up resize notification and move
buffer creation until after the prerequisite objects are created.
([EmacsView toggleFullScreen:]): Set frame to the size of the
contentview, not the whole window, and remove reference to
updateFrameSize.
([EmacsView setRows:andColumns:]): Remove unused method.
([EmacsView windowDidMove:]): Tidy up.
---
 src/nsmenu.m |   2 -
 src/nsterm.h |  15 ---
 src/nsterm.m | 318 ++++++++++++++++++++++++---------------------------
 3 files changed, 150 insertions(+), 185 deletions(-)

diff --git a/src/nsmenu.m b/src/nsmenu.m
index 67f9a45a40..b7e4cbd565 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1141,8 +1141,6 @@ - (Lisp_Object)runMenuAt: (NSPoint)p forFrame: (struct frame *)f
     }
 #endif
 
-  if (oldh != FRAME_TOOLBAR_HEIGHT (f))
-    [view updateFrameSize:YES];
   if (view->wait_for_tool_bar && FRAME_TOOLBAR_HEIGHT (f) > 0)
     {
       view->wait_for_tool_bar = NO;
diff --git a/src/nsterm.h b/src/nsterm.h
index 8396a542f7..e142dbd4f0 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -439,7 +439,6 @@ #define NS_DRAW_TO_BUFFER 1
 #endif
 @public
    struct frame *emacsframe;
-   int rows, cols;
    int scrollbarsNeedingUpdate;
    EmacsToolbar *toolbar;
    NSRect ns_userRect;
@@ -458,11 +457,9 @@ #define NS_DRAW_TO_BUFFER 1
 /* Emacs-side interface */
 - (instancetype) initFrameFromEmacs: (struct frame *) f;
 - (void) createToolbar: (struct frame *)f;
-- (void) setRows: (int) r andColumns: (int) c;
 - (void) setWindowClosing: (BOOL)closing;
 - (EmacsToolbar *) toolbar;
 - (void) deleteWorkingText;
-- (void) updateFrameSize: (BOOL) delay;
 - (void) handleFS;
 - (void) setFSValue: (int)value;
 - (void) toggleFullScreen: (id) sender;
@@ -1084,18 +1081,6 @@ #define NS_SCROLL_BAR_ADJUST_HORIZONTALLY(w, f)		\
    (FRAME_SCROLL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f)	\
     - NS_SCROLL_BAR_HEIGHT (f)) : 0)
 
-/* Calculate system coordinates of the left and top of the parent
-   window or, if there is no parent window, the screen.  */
-#define NS_PARENT_WINDOW_LEFT_POS(f)                                    \
-  (FRAME_PARENT_FRAME (f) != NULL                                       \
-   ? [FRAME_NS_VIEW (FRAME_PARENT_FRAME (f)) window].frame.origin.x : 0)
-#define NS_PARENT_WINDOW_TOP_POS(f)                                     \
-  (FRAME_PARENT_FRAME (f) != NULL                                       \
-   ? ([FRAME_NS_VIEW (FRAME_PARENT_FRAME (f)) window].frame.origin.y    \
-      + [FRAME_NS_VIEW (FRAME_PARENT_FRAME (f)) window].frame.size.height \
-      - FRAME_NS_TITLEBAR_HEIGHT (FRAME_PARENT_FRAME (f)))              \
-   : [[[NSScreen screens] objectAtIndex: 0] frame].size.height)
-
 #define FRAME_NS_FONT_TABLE(f) (FRAME_DISPLAY_INFO (f)->font_table)
 
 #define FRAME_FONTSET(f) ((f)->output_data.ns->fontset)
diff --git a/src/nsterm.m b/src/nsterm.m
index 3ce223307b..9dd1a89d0c 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -843,6 +843,32 @@ Free a pool and temporary objects it refers to (callable from C)
 }
 
 
+/* Get the frame rect, in system coordinates, of the parent window or,
+   if there is no parent window, the main screen.  */
+static inline NSRect
+ns_parent_window_rect (struct frame *f)
+{
+  NSRect parentRect;
+
+  if (FRAME_PARENT_FRAME (f) != NULL)
+    {
+      EmacsView *parentView = FRAME_NS_VIEW (FRAME_PARENT_FRAME (f));
+      parentRect = [parentView convertRect:[parentView frame]
+                                    toView:nil];
+      parentRect = [[parentView window] convertRectToScreen:parentRect];
+    }
+  else
+    parentRect = [[[NSScreen screens] objectAtIndex:0] frame];
+
+  return parentRect;
+}
+
+/* Calculate system coordinates of the left and top of the parent
+   window or, if there is no parent window, the main screen.  */
+#define NS_PARENT_WINDOW_LEFT_POS(f) NSMinX (ns_parent_window_rect (f))
+#define NS_PARENT_WINDOW_TOP_POS(f) NSMaxY (ns_parent_window_rect (f))
+
+
 static NSRect
 ns_row_rect (struct window *w, struct glyph_row *row,
                enum glyph_row_area area)
@@ -1741,61 +1767,64 @@ Hide the window (X11 semantics)
    -------------------------------------------------------------------------- */
 {
   NSView *view = FRAME_NS_VIEW (f);
-  NSScreen *screen = [[view window] screen];
+  NSRect windowFrame = [[view window] frame];
+  NSPoint topLeft;
 
   NSTRACE ("ns_set_offset");
 
   block_input ();
 
-  f->left_pos = xoff;
-  f->top_pos = yoff;
+  if (FRAME_PARENT_FRAME (f))
+    {
+      /* Convert the parent frame's view rectangle into screen
+         coords.  */
+      EmacsView *parentView = FRAME_NS_VIEW (FRAME_PARENT_FRAME (f));
+      NSRect parentRect = [parentView convertRect:[parentView frame]
+                                           toView:nil];
+      parentRect = [[parentView window] convertRectToScreen:parentRect];
+
+      if (f->size_hint_flags & XNegative)
+        topLeft.x = NSMaxX (parentRect) - NSWidth (windowFrame) + xoff;
+      else
+        topLeft.x = NSMinX (parentRect) + xoff;
 
-  if (view != nil)
+      if (f->size_hint_flags & YNegative)
+        topLeft.y = NSMinY (parentRect) + NSHeight (windowFrame) - yoff;
+      else
+        topLeft.y = NSMaxY (parentRect) - yoff;
+    }
+  else
     {
-      if (FRAME_PARENT_FRAME (f) == NULL && screen)
-        {
-          f->left_pos = f->size_hint_flags & XNegative
-            ? [screen visibleFrame].size.width + f->left_pos - FRAME_PIXEL_WIDTH (f)
-            : f->left_pos;
-          /* We use visibleFrame here to take menu bar into account.
-             Ideally we should also adjust left/top with visibleFrame.origin.  */
-
-          f->top_pos = f->size_hint_flags & YNegative
-            ? ([screen visibleFrame].size.height + f->top_pos
-               - FRAME_PIXEL_HEIGHT (f) - FRAME_NS_TITLEBAR_HEIGHT (f)
-               - FRAME_TOOLBAR_HEIGHT (f))
-            : f->top_pos;
-#ifdef NS_IMPL_GNUSTEP
-	  if (f->left_pos < 100)
-	    f->left_pos = 100;  /* don't overlap menu */
-#endif
-        }
-      else if (FRAME_PARENT_FRAME (f) != NULL)
-        {
-          struct frame *parent = FRAME_PARENT_FRAME (f);
+      /* If there is no parent frame then just convert to screen
+         coordinates, UNLESS we have negative values, in which case I
+         think it's best to position from the bottom and right of the
+         current screen rather than the main screen or whole
+         display.  */
+      NSRect screenFrame = [[[view window] screen] frame];
 
-          /* On X negative values for child frames always result in
-             positioning relative to the bottom right corner of the
-             parent frame.  */
-          if (f->left_pos < 0)
-            f->left_pos = FRAME_PIXEL_WIDTH (parent) - FRAME_PIXEL_WIDTH (f) + f->left_pos;
+      if (f->size_hint_flags & XNegative)
+        topLeft.x = NSMaxX (screenFrame) - NSWidth (windowFrame) + xoff;
+      else
+        topLeft.x = xoff;
 
-          if (f->top_pos < 0)
-            f->top_pos = FRAME_PIXEL_HEIGHT (parent) + FRAME_TOOLBAR_HEIGHT (parent)
-              - FRAME_PIXEL_HEIGHT (f) + f->top_pos;
-        }
+      if (f->size_hint_flags & YNegative)
+        topLeft.y = NSMinY (screenFrame) + NSHeight (windowFrame) - yoff;
+      else
+        topLeft.y = NSMaxY ([[[NSScreen screens] objectAtIndex:0] frame]) - yoff;
+
+#ifdef NS_IMPL_GNUSTEP
+      /* Don't overlap the menu.
 
-      /* Constrain the setFrameTopLeftPoint so we don't move behind the
-         menu bar.  */
-      NSPoint pt = NSMakePoint (SCREENMAXBOUND (f->left_pos
-                                                + NS_PARENT_WINDOW_LEFT_POS (f)),
-                                SCREENMAXBOUND (NS_PARENT_WINDOW_TOP_POS (f)
-                                                - f->top_pos));
-      NSTRACE_POINT ("setFrameTopLeftPoint", pt);
-      [[view window] setFrameTopLeftPoint: pt];
-      f->size_hint_flags &= ~(XNegative|YNegative);
+         FIXME: Surely there's a better way than just hardcoding 100
+         in here?  */
+      boundsRect.origin.x = 100;
+#endif
     }
 
+  NSTRACE_POINT ("setFrameTopLeftPoint", topLeft);
+  [[view window] setFrameTopLeftPoint:topLeft];
+  f->size_hint_flags &= ~(XNegative|YNegative);
+
   unblock_input ();
 }
 
@@ -1862,9 +1891,16 @@ Hide the window (X11 semantics)
 	   make_fixnum (FRAME_NS_TITLEBAR_HEIGHT (f)),
 	   make_fixnum (FRAME_TOOLBAR_HEIGHT (f))));
 
-  [window setFrame: wr display: YES];
+ /* Usually it seems safe to delay changing the frame size, but when a
+    series of actions are taken with no redisplay between them then we
+    can end up using old values so don't delay here.  */
+ change_frame_size (f,
+                    FRAME_PIXEL_TO_TEXT_WIDTH (f, pixelwidth),
+                    FRAME_PIXEL_TO_TEXT_HEIGHT (f, pixelheight),
+                    0, NO, 0, 1);
+
+  [window setFrame:wr display:NO];
 
-  [view updateFrameSize: NO];
   unblock_input ();
 }
 
@@ -1913,7 +1949,6 @@ Hide the window (X11 semantics)
          so some key presses (TAB) are swallowed by the system.  */
       [window makeFirstResponder: view];
 
-      [view updateFrameSize: NO];
       unblock_input ();
     }
 }
@@ -5026,9 +5061,6 @@ in certain situations (rapid incoming events).
       if ([view judge])
         removed = YES;
     }
-
-  if (removed)
-    [eview updateFrameSize: NO];
 }
 
 /* ==========================================================================
@@ -6200,6 +6232,15 @@ - (void) setWindowClosing: (BOOL)closing
 - (void)dealloc
 {
   NSTRACE ("[EmacsView dealloc]");
+
+  /* Clear the view resize notification.  */
+  [[NSNotificationCenter defaultCenter]
+    removeObserver:self
+              name:NSViewFrameDidChangeNotification
+            object:nil];
+
+  CGContextRelease (drawingBuffer);
+
   [toolbar release];
   if (fs_state == FULLSCREEN_BOTH)
     [nonfs_window release];
@@ -7041,108 +7082,12 @@ - (BOOL)windowShouldClose: (id)sender
   return NO;
 }
 
-- (void) updateFrameSize: (BOOL) delay
-{
-  NSWindow *window = [self window];
-  NSRect wr = [window frame];
-  int extra = 0;
-  int oldc = cols, oldr = rows;
-  int oldw = FRAME_PIXEL_WIDTH (emacsframe);
-  int oldh = FRAME_PIXEL_HEIGHT (emacsframe);
-  int neww, newh;
-
-  NSTRACE ("[EmacsView updateFrameSize:]");
-  NSTRACE_SIZE ("Original size", NSMakeSize (oldw, oldh));
-  NSTRACE_RECT ("Original frame", wr);
-  NSTRACE_MSG  ("Original columns: %d", cols);
-  NSTRACE_MSG  ("Original rows: %d", rows);
-
-  if (! [self isFullscreen])
-    {
-      int toolbar_height;
-#ifdef NS_IMPL_GNUSTEP
-      // GNUstep does not always update the tool bar height.  Force it.
-      if (toolbar && [toolbar isVisible])
-          update_frame_tool_bar (emacsframe);
-#endif
-
-      toolbar_height = FRAME_TOOLBAR_HEIGHT (emacsframe);
-      if (toolbar_height < 0)
-        toolbar_height = 35;
-
-      extra = FRAME_NS_TITLEBAR_HEIGHT (emacsframe)
-        + toolbar_height;
-    }
-
-  if (wait_for_tool_bar)
-    {
-      /* The toolbar height is always 0 in fullscreen and undecorated
-         frames, so don't wait for it to become available.  */
-      if (FRAME_TOOLBAR_HEIGHT (emacsframe) == 0
-          && FRAME_UNDECORATED (emacsframe) == false
-          && ! [self isFullscreen])
-        {
-          NSTRACE_MSG ("Waiting for toolbar");
-          return;
-        }
-      wait_for_tool_bar = NO;
-    }
-
-  neww = (int)wr.size.width - emacsframe->border_width;
-  newh = (int)wr.size.height - extra;
-
-  NSTRACE_SIZE ("New size", NSMakeSize (neww, newh));
-  NSTRACE_MSG ("FRAME_TOOLBAR_HEIGHT: %d", FRAME_TOOLBAR_HEIGHT (emacsframe));
-  NSTRACE_MSG ("FRAME_NS_TITLEBAR_HEIGHT: %d", FRAME_NS_TITLEBAR_HEIGHT (emacsframe));
-
-  cols = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (emacsframe, neww);
-  rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (emacsframe, newh);
-
-  if (cols < MINWIDTH)
-    cols = MINWIDTH;
-
-  if (rows < MINHEIGHT)
-    rows = MINHEIGHT;
-
-  NSTRACE_MSG ("New columns: %d", cols);
-  NSTRACE_MSG ("New rows: %d", rows);
-
-  if (oldr != rows || oldc != cols || neww != oldw || newh != oldh)
-    {
-      NSView *view = FRAME_NS_VIEW (emacsframe);
-
-      change_frame_size (emacsframe,
-                         FRAME_PIXEL_TO_TEXT_WIDTH (emacsframe, neww),
-                         FRAME_PIXEL_TO_TEXT_HEIGHT (emacsframe, newh),
-                         0, delay, 0, 1);
-      SET_FRAME_GARBAGED (emacsframe);
-      cancel_mouse_face (emacsframe);
-
-      /* The next two lines set the frame to the same size as we've
-         already set above.  We need to do this when we switch back
-         from non-native fullscreen, in other circumstances it appears
-         to be a noop.  (bug#28872) */
-      wr = NSMakeRect (0, 0, neww, newh);
-      [view setFrame: wr];
-#ifdef NS_DRAW_TO_BUFFER
-      [self createDrawingBuffer];
-#endif
-
-      // To do: consider using [NSNotificationCenter postNotificationName:].
-      [self windowDidMove: // Update top/left.
-	      [NSNotification notificationWithName:NSWindowDidMoveNotification
-					    object:[view window]]];
-    }
-  else
-    {
-      NSTRACE_MSG ("No change");
-    }
-}
 
 - (NSSize)windowWillResize: (NSWindow *)sender toSize: (NSSize)frameSize
 /* Normalize frame to gridded text size.  */
 {
   int extra = 0;
+  int cols, rows;
 
   NSTRACE ("[EmacsView windowWillResize:toSize: " NSTRACE_FMT_SIZE "]",
            NSTRACE_ARG_SIZE (frameSize));
@@ -7279,11 +7224,6 @@ - (void)windowDidResize: (NSNotification *)notification
   sz = [self windowWillResize: theWindow toSize: sz];
 #endif /* NS_IMPL_GNUSTEP */
 
-  if (cols > 0 && rows > 0)
-    {
-      [self updateFrameSize: YES];
-    }
-
   ns_send_appdefined (-1);
 }
 
@@ -7304,6 +7244,50 @@ - (void)viewDidEndLiveResize
 #endif /* NS_IMPL_COCOA */
 
 
+- (void)viewDidResize:(NSNotification *)notification
+{
+  NSRect frame = [self frame];
+  int oldw, oldh, neww, newh;
+
+  if (! FRAME_LIVE_P (emacsframe))
+    return;
+
+#ifdef NS_DRAW_TO_BUFFER
+  CGFloat scale = [[self window] backingScaleFactor];
+  oldw = (CGFloat)CGBitmapContextGetWidth (drawingBuffer) / scale;
+  oldh = (CGFloat)CGBitmapContextGetHeight (drawingBuffer) / scale;
+#else
+  oldw = FRAME_PIXEL_WIDTH (emacsframe);
+  oldh = FRAME_PIXEL_HEIGHT (emacsframe);
+#endif
+  neww = (int)NSWidth (frame);
+  newh = (int)NSHeight (frame);
+
+  NSTRACE ("[EmacsView viewDidResize]");
+
+  /* Don't want to do anything when the view size hasn't changed. */
+  if ((oldh == newh && oldw == neww))
+    {
+      NSTRACE_MSG ("No change");
+      return;
+    }
+
+  NSTRACE_SIZE ("Original size", NSMakeSize (oldw, oldh));
+  NSTRACE_SIZE ("New size", NSMakeSize (neww, newh));
+
+  change_frame_size (emacsframe,
+                     FRAME_PIXEL_TO_TEXT_WIDTH (emacsframe, neww),
+                     FRAME_PIXEL_TO_TEXT_HEIGHT (emacsframe, newh),
+                     0, YES, 0, 1);
+
+#ifdef NS_DRAW_TO_BUFFER
+  [self createDrawingBuffer];
+#endif
+  SET_FRAME_GARBAGED (emacsframe);
+  cancel_mouse_face (emacsframe);
+}
+
+
 - (void)windowDidBecomeKey: (NSNotification *)notification
 /* cf. x_detect_focus_change(), x_focus_changed(), x_new_focus_frame() */
 {
@@ -7465,10 +7449,6 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f
   maximizing_resize = NO;
 #endif
 
-#ifdef NS_DRAW_TO_BUFFER
-  [self createDrawingBuffer];
-#endif
-
   win = [[EmacsWindow alloc]
             initWithContentRect: r
                       styleMask: (FRAME_UNDECORATED (f)
@@ -7574,6 +7554,17 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f
   [NSApp registerServicesMenuSendTypes: ns_send_types
                            returnTypes: [NSArray array]];
 
+#ifdef NS_DRAW_TO_BUFFER
+  [self createDrawingBuffer];
+#endif
+
+  /* Set up view resize notifications.  */
+  [self setPostsFrameChangedNotifications:YES];
+  [[NSNotificationCenter defaultCenter]
+      addObserver:self
+         selector:@selector (viewDidResize:)
+             name:NSViewFrameDidChangeNotification object:nil];
+
   /* macOS Sierra automatically enables tabbed windows.  We can't
      allow this to be enabled until it's available on a Free system.
      Currently it only happens by accident and is buggy anyway.  */
@@ -7603,9 +7594,8 @@ - (void)windowDidMove: sender
     return;
   if (screen != nil)
     {
-      emacsframe->left_pos = r.origin.x - NS_PARENT_WINDOW_LEFT_POS (emacsframe);
-      emacsframe->top_pos =
-        NS_PARENT_WINDOW_TOP_POS (emacsframe) - (r.origin.y + r.size.height);
+      emacsframe->left_pos = NSMinX (r) - NS_PARENT_WINDOW_LEFT_POS (emacsframe);
+      emacsframe->top_pos = NS_PARENT_WINDOW_TOP_POS (emacsframe) - NSMaxY (r);
 
       // FIXME: after event part below didExitFullScreen is not received
       // if (emacs_event)
@@ -7904,7 +7894,6 @@ - (void)windowDidExitFullScreen /* provided for direct calls */
     {
       [toolbar setVisible:YES];
       update_frame_tool_bar (emacsframe);
-      [self updateFrameSize:YES];
       [[self window] display];
     }
   else
@@ -8117,11 +8106,11 @@ - (void)toggleFullScreen: (id)sender
       // send notifications.
 
       [self windowWillExitFullScreen];
-      [fw setFrame: [w frame] display:YES animate:ns_use_fullscreen_animation];
+      [fw setFrame:[[w contentView] frame]
+                    display:YES animate:ns_use_fullscreen_animation];
       [fw close];
       [w makeKeyAndOrderFront:NSApp];
       [self windowDidExitFullScreen];
-      [self updateFrameSize:YES];
     }
 }
 
@@ -8630,13 +8619,6 @@ - (instancetype)setMiniwindowImage: (BOOL) setMini
 }
 
 
-- (void) setRows: (int) r andColumns: (int) c
-{
-  NSTRACE ("[EmacsView setRows:%d andColumns:%d]", r, c);
-  rows = r;
-  cols = c;
-}
-
 - (int) fullscreenState
 {
   return fs_state;
-- 
2.26.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-04-11 13:29                 ` Alan Third
@ 2020-04-12  6:24                   ` Ashish SHUKLA
  2020-04-12  9:53                     ` Alan Third
  0 siblings, 1 reply; 19+ messages in thread
From: Ashish SHUKLA @ 2020-04-12  6:24 UTC (permalink / raw)
  To: Alan Third; +Cc: 39883

On Apr 11, 2020, at 18:59, Alan Third <alan@idiocy.org> wrote:
> 
> On Thu, Apr 02, 2020 at 11:49:45AM +0530, Ashish SHUKLA wrote:
>> On 4/2/20 12:23 AM, Alan Third wrote:
>>> 
>>> It’s quite possible we’ll need to provide some sort of option to force
>>> this, or to do run‐time feature detection. I don’t much fancy trying
>>> to code up the runtime detection for this feature, but if we need it
>>> we need it.
>> 
>> That definitely seems more foolproof. Let me know if you like me to test
>> your diff.
> 
> Can you please try the attached patches? The fix for this is built on
> the one for fixing frame resizing. Ultimately they should both end up
> on master, so I didn’t want to make separate branches and have to
> rework them later.
> 
> You may have to set this CFLAG to enable the changes:
> 
>    -DMAC_OS_X_VERSION_MAX_ALLOWED=101500
> -- 
> Alan Third
> <0001-Allow-dynamic-choice-of-drawing-path-on-NS-bug-39883.patch><v5-0001-Fix-NS-frame-resizing-issues-bug-40200-bug-28872.patch>

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.
make[1]: *** [Makefile:404: nsterm.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/private/tmp/nix-build-emacs-git-20200412.0.drv-0/source/src'
make: *** [Makefile:424: src] Error 2
builder for '/nix/store/ipkfwl0i5xq2006g1j04nsh510y8snvn-emacs-git-20200412.0.drv' failed with exit code 2
cannot build derivation '/nix/store/0rq2gm9527ynz2f97xmlx4wpk5hpkly7-emacs-git-with-packages-20200412.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/qkiy84nhzmzkkpkz9ayh6fivy1lp8s9j-hm_.configzsh.zshrc.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/qz9gbgh031nlih9knmcbh8dk8g7c85q1-home-manager-files.drv': 1 dependencies couldn't be built
==================================================================

With CFLAGS set:

==================================================================
1 warning generated.
  CC       lastfile.o
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
        ^
nsterm.m:1148:8: error: use of undeclared identifier 'self'
  if ([self wantsUpdateLayer])
       ^
nsterm.m:1185:8: error: use of undeclared identifier 'self'
  if ([self wantsUpdateLayer])
       ^
nsterm.m:1234:12: error: use of undeclared identifier 'self'
      if ([self wantsUpdateLayer])
           ^
1 warning generated.
nsterm.m:1294:8: error: use of undeclared identifier 'self'
  if ([self wantsUpdateLayer])
111       ^ warning
 warning warning generated generated generated1.
.
.
1 warning generated warning.
 generated.
1 warning generated.
1 warning and 4 errors generated.
make[1]: *** [Makefile:404: nsterm.o] Error 1
make[1]: Leaving directory '/private/tmp/nix-build-emacs-git-20200412.0.drv-0/source/src'
make: *** [Makefile:424: src] Error 2
builder for '/nix/store/xf0x6mcjm6v4wn5zy0hnaicln7ipl9xc-emacs-git-20200412.0.drv' failed with exit code 2
cannot build derivation '/nix/store/hxcxbsby3vyf9apiq3zn9qvbjznz9bs5-emacs-git-with-packages-20200412.0.drv': 1 dependencies couldn't be built
==================================================================

The warning message "'MAC_OS_X_VERSION_MAX_ALLOWED' macro redefined” was emitted during compilation of every file.

FTR, I tested it with 43282a67[1].

References:
[1] https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=43282a6772630275259dbc7560913c07f72eb06e

Thanks!
--
Ashish | GPG: F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0

“Sometimes even to live is an act of courage.” (Seneca)






^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-04-12  6:24                   ` Ashish SHUKLA
@ 2020-04-12  9:53                     ` Alan Third
  2020-04-12 10:59                       ` Ashish SHUKLA
  0 siblings, 1 reply; 19+ messages in thread
From: Alan Third @ 2020-04-12  9:53 UTC (permalink / raw)
  To: Ashish SHUKLA; +Cc: 39883

[-- Attachment #1: Type: text/plain, Size: 1827 bytes --]

On Sun, Apr 12, 2020 at 11:54:53AM +0530, Ashish SHUKLA wrote:
> On Apr 11, 2020, at 18:59, Alan Third <alan@idiocy.org> 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.

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.
-- 
Alan Third

[-- Attachment #2: v2-0001-Allow-dynamic-choice-of-drawing-path-on-NS-bug-39.patch --]
[-- Type: text/plain, Size: 11641 bytes --]

From 7b0d5e99e0b12fd6792cf2cf76d539128687f520 Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Sat, 11 Apr 2020 14:18:39 +0100
Subject: [PATCH v2] Allow dynamic choice of drawing path on NS (bug#39883)

* src/nsterm.h (NS_DRAW_TO_BUFFER): Let this be enabled on versions
older than 10.14.
* src/nsterm.m (ns_update_begin):
(ns_update_end):
(ns_focus):
(ns_unfocus):
([EmacsView viewDidResize:]):
([EmacsView createDrawingBuffer]):
([EmacsView windowDidChangeBackingProperties:]):
([EmacsView copyRect:to:]):
([EmacsView wantsUpdateLayer]): Dynamically switch between drawing to a
buffer and drawing to the screen, depending on the version of AppKit
in use.
([EmacsView dealloc]): We can't release the context unless
NS_DRAW_TO_BUFFER is defined.
---
 src/nsterm.h |  10 +--
 src/nsterm.m | 229 +++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 167 insertions(+), 72 deletions(-)

diff --git a/src/nsterm.h b/src/nsterm.h
index e142dbd4f0..f5d3c32b8b 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -343,14 +343,8 @@ #define NSTRACE_UNSILENCE()
    therefore we draw to an offscreen buffer and swap it in when the
    toolkit wants to draw the frame. GNUstep and macOS 10.7 and below
    do not support this method, so we revert to drawing directly to the
-   glass.
-
-   FIXME: Should we make this macOS 10.8+, or macOS 10.14+?  I'm
-   inclined to go with 10.14+ as there have been some reports of funny
-   behaviour on 10.13 and below.  It may be worth adding a variable to
-   allow people in the overlapping region to switch between drawing
-   paths.  */
-#if defined (NS_IMPL_COCOA) && defined (MAC_OS_X_VERSION_10_14)
+   glass.  */
+#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
 #define NS_DRAW_TO_BUFFER 1
 #endif
 
diff --git a/src/nsterm.m b/src/nsterm.m
index 9dd1a89d0c..f5cf033b4e 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1144,10 +1144,25 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
 
   ns_updating_frame = f;
 #ifdef NS_DRAW_TO_BUFFER
-  [view focusOnDrawingBuffer];
-#else
-  [view lockFocus];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([FRAME_NS_VIEW (f) wantsUpdateLayer])
+    {
 #endif
+      [view focusOnDrawingBuffer];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      [view lockFocus];
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+#endif
+
 }
 
 
@@ -1166,15 +1181,29 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
   MOUSE_HL_INFO (f)->mouse_face_defer = 0;
 
 #ifdef NS_DRAW_TO_BUFFER
-  [NSGraphicsContext setCurrentContext:nil];
-  [view setNeedsDisplay:YES];
-#else
-  block_input ();
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([FRAME_NS_VIEW (f) wantsUpdateLayer])
+    {
+#endif
+      [NSGraphicsContext setCurrentContext:nil];
+      [view setNeedsDisplay:YES];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
 
-  [view unlockFocus];
-  [[view window] flushWindow];
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      block_input ();
 
-  unblock_input ();
+      [view unlockFocus];
+      [[view window] flushWindow];
+
+      unblock_input ();
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
 #endif
   ns_updating_frame = NULL;
 }
@@ -1199,24 +1228,39 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
     }
 
   if (f != ns_updating_frame)
-#ifdef NS_DRAW_TO_BUFFER
-    [view focusOnDrawingBuffer];
-#else
     {
-      if (view != focus_view)
+#ifdef NS_DRAW_TO_BUFFER
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      if ([FRAME_NS_VIEW (f) wantsUpdateLayer])
         {
-          if (focus_view != NULL)
+#endif
+          [view focusOnDrawingBuffer];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+        }
+      else
+        {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+          if (view != focus_view)
             {
-              [focus_view unlockFocus];
-              [[focus_view window] flushWindow];
-            }
+              if (focus_view != NULL)
+                {
+                  [focus_view unlockFocus];
+                  [[focus_view window] flushWindow];
+                }
 
-          if (view)
-            [view lockFocus];
-          focus_view = view;
+              if (view)
+                [view lockFocus];
+              focus_view = view;
+            }
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
         }
-    }
 #endif
+    }
+
 
   /* clipping */
   if (r)
@@ -1246,16 +1290,30 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
     }
 
 #ifdef NS_DRAW_TO_BUFFER
-  [FRAME_NS_VIEW (f) setNeedsDisplay:YES];
-#else
-  if (f != ns_updating_frame)
+  #if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([FRAME_NS_VIEW (f) wantsUpdateLayer])
+    {
+#endif
+      [FRAME_NS_VIEW (f) setNeedsDisplay:YES];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
     {
-      if (focus_view != NULL)
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      if (f != ns_updating_frame)
         {
-          [focus_view unlockFocus];
-          [[focus_view window] flushWindow];
-          focus_view = NULL;
+          if (focus_view != NULL)
+            {
+              [focus_view unlockFocus];
+              [[focus_view window] flushWindow];
+              focus_view = NULL;
+            }
         }
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
     }
 #endif
 }
@@ -6239,7 +6297,9 @@ - (void)dealloc
               name:NSViewFrameDidChangeNotification
             object:nil];
 
+#ifdef NS_DRAW_TO_BUFFER
   CGContextRelease (drawingBuffer);
+#endif
 
   [toolbar release];
   if (fs_state == FULLSCREEN_BOTH)
@@ -7253,13 +7313,27 @@ - (void)viewDidResize:(NSNotification *)notification
     return;
 
 #ifdef NS_DRAW_TO_BUFFER
-  CGFloat scale = [[self window] backingScaleFactor];
-  oldw = (CGFloat)CGBitmapContextGetWidth (drawingBuffer) / scale;
-  oldh = (CGFloat)CGBitmapContextGetHeight (drawingBuffer) / scale;
-#else
-  oldw = FRAME_PIXEL_WIDTH (emacsframe);
-  oldh = FRAME_PIXEL_HEIGHT (emacsframe);
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([self wantsUpdateLayer])
+    {
+#endif
+      CGFloat scale = [[self window] backingScaleFactor];
+      oldw = (CGFloat)CGBitmapContextGetWidth (drawingBuffer) / scale;
+      oldh = (CGFloat)CGBitmapContextGetHeight (drawingBuffer) / scale;
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
 #endif
+#endif /* NS_DRAW_TO_BUFFER */
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      oldw = FRAME_PIXEL_WIDTH (emacsframe);
+      oldh = FRAME_PIXEL_HEIGHT (emacsframe);
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+#endif
+
   neww = (int)NSWidth (frame);
   newh = (int)NSHeight (frame);
 
@@ -8289,6 +8363,9 @@ - (void)createDrawingBuffer
 {
   NSTRACE ("EmacsView createDrawingBuffer]");
 
+  if (! [self wantsUpdateLayer])
+    return;
+
   NSGraphicsContext *screen;
   CGColorSpaceRef colorSpace = [[[self window] colorSpace] CGColorSpace];
   CGFloat scale = [[self window] backingScaleFactor];
@@ -8324,6 +8401,9 @@ - (void)windowDidChangeBackingProperties:(NSNotification *)notification
 {
   NSTRACE ("EmacsView windowDidChangeBackingProperties:]");
 
+  if (! [self wantsUpdateLayer])
+    return;
+
   CGFloat old = [[[notification userInfo]
                     objectForKey:@"NSBackingPropertyOldScaleFactorKey"]
                   doubleValue];
@@ -8347,41 +8427,56 @@ - (void)copyRect:(NSRect)srcRect to:(NSRect)dstRect
   NSTRACE_RECT ("Destination", dstRect);
 
 #ifdef NS_DRAW_TO_BUFFER
-  CGImageRef copy;
-  NSRect frame = [self frame];
-  NSAffineTransform *setOrigin = [NSAffineTransform transform];
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if ([self wantsUpdateLayer])
+    {
+#endif
+      CGImageRef copy;
+      NSRect frame = [self frame];
+      NSAffineTransform *setOrigin = [NSAffineTransform transform];
 
-  [[NSGraphicsContext currentContext] saveGraphicsState];
+      [[NSGraphicsContext currentContext] saveGraphicsState];
 
-  /* Set the clipping before messing with the buffer's
-     orientation.  */
-  NSRectClip (dstRect);
+      /* Set the clipping before messing with the buffer's
+         orientation.  */
+      NSRectClip (dstRect);
 
-  /* Unflip the buffer as the copied image will be unflipped, and
-     offset the top left so when we draw back into the buffer the
-     correct part of the image is drawn.  */
-  CGContextScaleCTM(drawingBuffer, 1, -1);
-  CGContextTranslateCTM(drawingBuffer,
-                        NSMinX (dstRect) - NSMinX (srcRect),
-                        -NSHeight (frame) - (NSMinY (dstRect) - NSMinY (srcRect)));
+      /* Unflip the buffer as the copied image will be unflipped, and
+         offset the top left so when we draw back into the buffer the
+         correct part of the image is drawn.  */
+      CGContextScaleCTM(drawingBuffer, 1, -1);
+      CGContextTranslateCTM(drawingBuffer,
+                            NSMinX (dstRect) - NSMinX (srcRect),
+                            -NSHeight (frame) - (NSMinY (dstRect) - NSMinY (srcRect)));
 
-  /* Take a copy of the buffer and then draw it back to the buffer,
-     limited by the clipping rectangle.  */
-  copy = CGBitmapContextCreateImage (drawingBuffer);
-  CGContextDrawImage (drawingBuffer, frame, copy);
+      /* Take a copy of the buffer and then draw it back to the buffer,
+         limited by the clipping rectangle.  */
+      copy = CGBitmapContextCreateImage (drawingBuffer);
+      CGContextDrawImage (drawingBuffer, frame, copy);
 
-  CGImageRelease (copy);
+      CGImageRelease (copy);
 
-  [[NSGraphicsContext currentContext] restoreGraphicsState];
-  [self setNeedsDisplayInRect:dstRect];
-#else
-  hide_bell();              // Ensure the bell image isn't scrolled.
+      [[NSGraphicsContext currentContext] restoreGraphicsState];
+      [self setNeedsDisplayInRect:dstRect];
 
-  ns_focus (emacsframe, &dstRect, 1);
-  [self scrollRect: srcRect
-                by: NSMakeSize (dstRect.origin.x - srcRect.origin.x,
-                                dstRect.origin.y - srcRect.origin.y)];
-  ns_unfocus (emacsframe);
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
+  else
+    {
+#endif
+#endif /* NS_DRAW_TO_BUFFER */
+
+#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+      hide_bell();              // Ensure the bell image isn't scrolled.
+
+      ns_focus (emacsframe, &dstRect, 1);
+      [self scrollRect: srcRect
+                    by: NSMakeSize (dstRect.origin.x - srcRect.origin.x,
+                                    dstRect.origin.y - srcRect.origin.y)];
+      ns_unfocus (emacsframe);
+#endif
+#if defined (NS_DRAW_TO_BUFFER) && MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+    }
 #endif
 }
 
@@ -8389,7 +8484,13 @@ - (void)copyRect:(NSRect)srcRect to:(NSRect)dstRect
 #ifdef NS_DRAW_TO_BUFFER
 - (BOOL)wantsUpdateLayer
 {
-    return YES;
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+  if (NSAppKitVersionNumber < 1671)
+    return NO;
+#endif
+
+  /* Running on macOS 10.14 or above.  */
+  return YES;
 }
 
 
-- 
2.26.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-04-12  9:53                     ` Alan Third
@ 2020-04-12 10:59                       ` Ashish SHUKLA
  2020-04-16 18:22                         ` Alan Third
  0 siblings, 1 reply; 19+ messages in thread
From: Ashish SHUKLA @ 2020-04-12 10:59 UTC (permalink / raw)
  To: Alan Third, 39883


[-- Attachment #1.1: Type: text/plain, Size: 2383 bytes --]

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 <alan@idiocy.org> 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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* bug#39883: 28.0.50; macOS blank frame
  2020-04-12 10:59                       ` Ashish SHUKLA
@ 2020-04-16 18:22                         ` Alan Third
  0 siblings, 0 replies; 19+ messages in thread
From: Alan Third @ 2020-04-16 18:22 UTC (permalink / raw)
  To: Ashish SHUKLA; +Cc: 39883-done

On Sun, Apr 12, 2020 at 04:29:19PM +0530, Ashish SHUKLA wrote:
> 
> With updated patches, and CFLAGS changed, it fixed the problem. Without
> CFLAGS change, it built fine with problem persisting.

Hi Ashish, I’ve pushed this change to master, so hopefully that’s us
done and therefore I’m closing the bug report.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-04-16 18:22 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-03  9:42 bug#39883: 28.0.50; macOS blank frame Philippe Spiesser
2020-03-03 19:04 ` Alan Third
2020-03-04 12:18   ` Philippe Spiesser
2020-03-04 20:56     ` Alan Third
2020-03-05 10:37       ` Philippe Spiesser
2020-03-05 17:16         ` Alan Third
2020-03-29 17:47 ` Ashish SHUKLA
2020-03-29 18:13   ` Alan Third
2020-03-29 18:21     ` Ashish SHUKLA
2020-03-29 19:54       ` Ashish SHUKLA
2020-03-31 16:52         ` Alan Third
2020-04-01  4:21           ` Ashish SHUKLA
2020-04-01 18:53             ` Alan Third
2020-04-02  6:19               ` Ashish SHUKLA
2020-04-11 13:29                 ` Alan Third
2020-04-12  6:24                   ` Ashish SHUKLA
2020-04-12  9:53                     ` Alan Third
2020-04-12 10:59                       ` Ashish SHUKLA
2020-04-16 18:22                         ` Alan Third

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).