大家怎么看待 Emacs for Mac OSX?真的还有人用吗?

其实我想问问大家是怎么看这人的回答

我在用啊, 还挺稳定的. 省心. 缺点是没有native-comp

homebrew的好好折腾应该会整出比较强大的版本吧, 就是经常需要编译一大堆东西,几次过不去就放弃了

有哪位分享一下全功能强大版本的mac osx emacs咋整?

是指 emacsforosx.com 嗎?這個其實就是官方源代碼 build 出來的,跟你自己 ./configure && make && make install 沒太大區別,跟 emacs-plus 也沒太大區別。

其实我一直好奇这个「没太大区别的区别」。

一般就是build flags,可以找找看

Emacs For Mac OS X自作聪明加了一个launcher来处理环境变量。

这个launcher以前是用ruby写的,还造成过macOS权限方面的一些麻烦,现在改用rust了。我觉得加一个launcher未必是件坏事,但是Emacs For Mac OS X的官网首页上写着Pure Emacs! No Extras! No Nonsense!背地里又偷偷加了个launcher,其作者的对待事情的态度可见一斑。

我更推荐自己编译,其实在macOS上编译emacs非常简单,装好GNU autotools, gmp, gnutls以后,./configure, make, make install就能直接打出.app格式的emacs。

用brew从官方拉源代码编译有啥问题?你可以检查每一步编译的日志检查是否有问题。

4 个赞

是的,以前我放弃 Emacs For Mac OS X 就是因为这个 ruby 脚本的系统权限问题,很烦人,之后我就换到 emacs-plus 了。

2 个赞

那个 rust 写的 launcher 可以直接链接到 /usr/local/bin 然后直接用(直接用 Emacs 的 executable 会有路径问题)、这倒是优点(

而且能处理环境变量、和不同的系统版本、依赖也是 self-contain 的、也是好事。

对我来说不用的理由只有两个:

  • 那个 launcher 拖慢了启动速度
  • 没有开 treesit 和 xwidget 支持(现在有 treesit、librsvg 和 SQLite 支持了

我认为还是至少要看完这个项目的 about 页面

首先并非自作聪明、作者解释了:

Why not just use a fat binary? Because fat binaries can only hold 1 of each architecture and Emacs has multiple x86_64 architectures binaries.

Why are there multiple x86_64 binaries? Even though recent versions of Emacs contain runtime feature detection, there is an issue with some library dependencies.

另外、launcher 的引入也不存在「背地里偷偷加」一说、在那段的上面作者就提到了:

Emacs is built on various versions of Mac OS X: 10.12 and 10.14 as of 2024-07-04 (64 bit only). All the binaries are combined into a single executable and a small Rust launcher chooses which binary to run based on the machine’s OS and architecture.

关于项目 slogan 里的「Pure Emacs! No Extras! No Nonsense!」、显然它指的是没有对 GNU Emacs 进行改动;那个 launcher 只是所谓 fat binary 的一个 workaround:

The scripts I run basically just configure and build right from the GNU source—I don’t add any patches or any extraneous lisp packages. I do include the old Carbon icon on the disk image because I like it better than the new Cocoa icon but it is not enabled by default.

另外

我是感觉这句话稍微有点 mean(

7 个赞

一直在用,现在也在用,除了没有 native-component 之外其余都蛮好

總之比我自己用的 Emacs 更接近官方,我自己打了 9 個 patch😁️

从gnu的git上clone的repo,代码新,master分支或者igc分支,一直都是自己编译的。

1 个赞

我之前一直在用,后来因为ultra-scroll-mac这个插件只支持emacs mac port才换的

一直用brew和源码自己编译。没觉得有什么问题。

是不是这个插件?Vanilla Emacs也可以安装呀

诶 有趣,我当时装的时候强调只支持mac port,现在好像更新到通用版本了。这是我当时的readme

[!WARNING] This is only for the emacs-mac port (see why). M-x emacs-version should mention Carbon, not NS, and window-system should be mac.

甚至有解释

Why is this emacs-mac only?

Only the emacs-mac port exposes the full pixel-level scrolling event stream of trackpads (and fancy mice). This makes ultra-scroll-mac much simpler than packages which have to simulate this.

挺好用的,我觉得比 linux 下的好用,有一些 macos 借助 applescript 特有的功能,你们说没有的,我在 linux 也没用上