On Tue, Aug 6, 2024 at 10:54 PM Charles Choi wrote: > Okay, so my impression was the Mitsuharu fork being not that distant from > core is arguably wrong. That said, would appreciate any backstory on the > Cocoa/NS port which I'd be interested to hear. > The two ports use different underlying OS-level graphics technologies, one known originally as "Carbon" and another as Cocoa (which is based on the NextSTEP code/concepts, and uses "ns" all over the place because of same. Apple has changed their official (and, separately, practical) stance on which toolkits are supported over time. GNU Emacs includes the ns port, which also works with the free implementation OpenStep (although somewhat roughly, if I recall correctly). The details of what Apple supports/promotes and when they support/promote it are fairly arcane, and probably aren't that interesting except to software historians. (It has somewhat to do with the history/development of iOS.) If you're interested in details, I'll suggest starting here: https://en.wikipedia.org/wiki/Carbon_(API) In practice, both toolkits "work" at the moment. The Carbon port has an active (fork) maintainer, and (obviously) does not support the libre OpenStep toolkit. The ns port is maintained on a best-effort basis in the mainline, but has been operating on what I'll call "less than but hopefully rounds up to one" maintainer for a few years now, and _does_ support the libre OpenStep. I myself have been off of macOS for a few years, since which Apple has made it variously more annoying but not yet (quite?) impractical to use freely developed software under macOS, but it seems that it's still relatively easy to get a functional emacs on Apple's quite-good hardware and mostly-workable OS, either by building it yourself, or using something like homebrew or emacsformacos.com. If one wanted to improve the situation for GNU Emacs under macOS, as other people have mentioned, there is currently a lack of people with time, interest, access, and expertise with the software underlying the ns port. Eli has already suggested how to look into the issues from the emacs side. I hope this helps, ~Chad