From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: chad Newsgroups: gmane.emacs.devel Subject: Re: Willing to Contribute to Emacs NS-Port Development Date: Thu, 22 Aug 2024 16:19:46 -0400 Message-ID: References: <1EA54CAB-DC46-498B-962E-CDBC57D3F2D5@gmail.com> <87h6bxnoc9.fsf@yahoo.com> <77476D86-769B-423D-B65A-6DAC2CFCD0E6@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000ff84af06204b61a1" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35808"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Charles Choi Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Aug 22 22:20:49 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1shEIb-00095r-5O for ged-emacs-devel@m.gmane-mx.org; Thu, 22 Aug 2024 22:20:49 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1shEHu-0005n7-7D; Thu, 22 Aug 2024 16:20:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1shEHs-0005gG-5S for emacs-devel@gnu.org; Thu, 22 Aug 2024 16:20:04 -0400 Original-Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1shEHp-0008T0-VV for emacs-devel@gnu.org; Thu, 22 Aug 2024 16:20:03 -0400 Original-Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-5334c4d6829so1639593e87.2 for ; Thu, 22 Aug 2024 13:20:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724357999; x=1724962799; darn=gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=mo7ux/M9YK4YbgKk8jiKBJB84GfKW759MsUjxHwVT/M=; b=VoYjfYIF1X/0gQ5eEt4zDYDLt96uRC+ygQNw2iDAdoGgPE/f2qaOc+XcdJ4BaFaIlk 3D+kTs6hAxbnAX2rzDsCXSv4KoHlPYn4NsgXvdYwJj8vZe2yPkagRHat8FFi3mdHjMgK zXJNRmGthpxuPNWTVmZvcLoS2zIevwT9YeUy/XGf9gPcBrLsVxBAwIGfrV3xXbMQYX3L GxBJH6c0FXWXZQw49ftQkwUe6vTBX9T9t+vYDf9jW1IcYnFBkyESozHeo+OPJj7OeVcK LQarecBZ9E3l0ewvWr/XpJFfYJ+ZErffHYZaqFhbImBve9/MgmLAoGs8YcoH5OQwIEVW g37g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724357999; x=1724962799; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mo7ux/M9YK4YbgKk8jiKBJB84GfKW759MsUjxHwVT/M=; b=obFrSnBV0Ocr/swibQq+/qG2OO4AJXTLQk6ju84+Cy/EZvaFuXTmdWEvR+AkiMHkYs jyL5RJbb/TAtgPCrq9npYnLwtLx4rKK0HCk3clg1XZzVzJsLTKyulkMZJYnQN9L/M0Cp 62AvRNtnqiGvlJL0O7AyiBYCZgCBssouQ4nyaVTLuI84TgIqAaiKsep2jaJMjh6FIyaz nXJiFFJOyQcXrMUs++rU5ZzwO8FJdxCNLssRRHIDK4srRMsKs9Pg/fBxga7YSlL4VKYP nwmG2h0FJBDiZV7i8PgGjPhTw0F1mX6drAMq+pUL6q9OHOXcA4HX3WyL4iDnrVLkWlbH hvLQ== X-Gm-Message-State: AOJu0YxOXPeI+RiNFKXJgX9e39Zokhiuf8HjRutycxjlZnErWlj7aiJR wSPwddShGWcr3bC+Oc6MDeIbwNhyMH8mYQZLuelvB1tRXtVgod3fM1k/2vxJA/fFs0WALcuSKMA sGf6zqBqD0NO6Sa7zrGMtbHwYnRE= X-Google-Smtp-Source: AGHT+IF1s78K/FT41qZw9bTe0SpSNCgp/NjWEc4Cn2ocYQdUEH78ZuqEzR3GLULQyzb/BnGjq+EE12N0a5uHjgkWvkU= X-Received: by 2002:a05:6512:3b27:b0:52f:288:5664 with SMTP id 2adb3069b0e04-534387c47c8mr63507e87.51.1724357999032; Thu, 22 Aug 2024 13:19:59 -0700 (PDT) In-Reply-To: <77476D86-769B-423D-B65A-6DAC2CFCD0E6@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::12a; envelope-from=yandros@gmail.com; helo=mail-lf1-x12a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:323060 Archived-At: --000000000000ff84af06204b61a1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Aug 6, 2024 at 10:54=E2=80=AFPM 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 --000000000000ff84af06204b61a1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Tue, Aug 6, 2024 at 10:54=E2=80=AF= PM Charles Choi <kickingvegas@= gmail.com> wrote:
Okay, so my impression was the Mitsuharu fork being not that dis= tant from core is arguably wrong. That said, would appreciate any backstory= on the Cocoa/NS port which I'd be interested to hear.=C2=A0

The two ports use different underlying OS-level g= raphics technologies, one known originally as "Carbon" and anothe= r 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 t= ime. GNU Emacs includes the ns port, which also works with the free impleme= ntation OpenStep (although somewhat roughly, if I recall=C2=A0correctly).= =C2=A0 The details of what Apple supports/promotes and when they support/pr= omote it are fairly arcane, and probably aren't that interesting except= to software historians. (It has somewhat to do with the history/developmen= t of iOS.) If you're interested in details, I'll suggest starting h= ere:=C2=A0https://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 too= lkit. 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 rou= nds up to one" maintainer for a few years now, and _does_ support the = libre OpenStep.=C2=A0

I myself have been off of ma= cOS for a few years, since which Apple has made it variously more annoying = but not yet (quite?) impractical to use freely developed software under mac= OS, but it seems that it's still relatively easy to get a functional em= acs on Apple's quite-good hardware and mostly-workable OS, either by=C2= =A0building it yourself, or using something like homebrew or emacsformacos.com.

If o= ne wanted to improve the situation for GNU Emacs under macOS, as other peop= le have mentioned, there is currently a lack of people with time, interest,= access, and expertise with the software underlying the ns port. Eli has al= ready suggested how to look into the issues from the emacs side.
=
I hope this helps,
~Chad
=C2=A0
--000000000000ff84af06204b61a1--