[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nextstep build uses iso-latin by default. WHY?

From: YAMAMOTO Mitsuharu
Subject: Re: Nextstep build uses iso-latin by default. WHY?
Date: Fri, 15 Apr 2016 18:21:05 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shij┼Ź) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Thu, 14 Apr 2016 19:26:16 -0400, Stefan Monnier <address@hidden> said:

>>> So Emacs switched to that "NS" port.  More or less around that
>>> same time, Yamamoto Mitsuharu started to work on the "old" code
>>> and adapt it to the newer version of the old API.  And here we
>>> are.
>> Could you expand what it means by "the newer version of the old
>> API" more concretely?

> IIUC your port derives from the carbon port.  I don't have a good
> grasp of the various APIs involved, but my understanding is that the
> carbon port was using an API which was being deprecated and you
> replaced some parts of it (or maybe all of it, for all I know) to
> use a newer API which was the "moral successor" of the old API.
> That's what I meant by "newer version of the old API".

Though the transition to (the predecessor of) the Mac port, almost all
uses of the deprecated parts of Carbon APIs are replaced with Cocoa
AppKit (mostly for GUI) and C APIs such as Core Foundation, Core Text,
Core Graphics, Image I/O frameworks.  Serious OSX/iOS(and tvOS?)
developers would never agree on calling these C APIs "the newer
version of the old API".  Would you call cairo as the newer version of
the old Xlib drawing API?

It is true that the Mac port uses some functions in the Carbon
framework, but only for fine control over low-level stuffs such as
Carbon Events and Apple Events, and they are not deprecated.

>> Compling the NS port with the recent SDK gives warnings about the
>> use of deprecated API, but the Mac port does not.

> I didn't mean to imply that the ns port uses a more
> recent/uptodate/modern API than your port.  Just that your port uses
> a more recent API than the carbon port.

I was concerned that your previous message might give a wrong
impression that the Mac port is using a (newer version, but) old API.
Some seem even think it uses Carbon instead of Cocoa for GUI, though
you can no longer build Carbon GUI apps with recent SDKs.

In reality, besides some eye-candy features such as emoji, 2x images,
or Core Animations, it's been adopting several unnoticable ones such
as Automatic Reference Counting, Objective-C generics, and non-main
thread drawing via Grand Central Dispatch behind the scenes.

                                     YAMAMOTO Mitsuharu

reply via email to

[Prev in Thread] Current Thread [Next in Thread]