native Emacs Lisp

所以这事情现在不还是半死不活的么 :sweat_smile:

dynamic module 好是好,但编译会成为大问题。如果用户电脑上没有相应的环境,比如我(还用着 11 年的笔记本电脑),要从 0 开始准备一个 Rust 编译环境,首先下载上 G 的各种文件,接着编上几个小时,然后才能开始编译 dynamic module。一切顺利尚且费时费力,何况中间还有会出各种岔子。

如果有一个类似 melpa 的 dynamic module 托管中心,用户直接去上面下载二进制就好了。

3 个赞

有一说一,在 Scheme 世界里面,Guile 生态还算可以了。

另外,我以为 Guile Emacs 是要走渐进的路线:先让 Guile 支持 Elisp,然后将换上 Guile 做为 Elisp 解释器,之后再迁移到 Scheme 上

这个确实是个问题,至少易用性会大打折扣。有人牵头做个托管中心最好,还可以制定一些规范。目前情况下,如果写 dynamic module,我会选择用 CI 或者第三方云暂时托管也是可行的。提交之后自动编译并发布上去,然后elisp包中寻找相关路径自动下载二进制文件。

既然已经有了package.el,何不改一改加入dmodule的支持

你们谁还记得 XEmacs 和 SXEmacs。

忽然想起来 SXEmacs 实现了 proper ffi 而不是为了 GPL 限制妥协的 dynamic module

http://www.sxemacs.org/git.html

而且去年还破天慌更了一次,虽然只是修复了一下依赖

为啥GPL和FFI冲突?

不是 GPL 冲突,而是 RMS 要求 GNU Emacs 只能和 GPL 兼容的软件动态链接。之前 RMS 还在邮件中公开抵制给 GNU Emacs 加 ffi,dynamic module 还是他稍微松口以后才加的功能。而 XEmacs 就没有这些限制,至少动态链接非 GPL 代码是没问题的(严格来说还是有问题,但实践中通过 LGPL 包装一下界面是可行的,通过 dynamic module 的模式也能绕开一些限制,而且被起诉在美国也有判断 dynamic linking 不算违法版权法的先例,最主要的是 XEmacs 是和 Linux 一样的 GPLv2 而不是更严格的 v3 实际操作建议联系专业法务,本人对此的结果不负责)。

It should also export a symbol named plugin_is_GPL_compatible to indicate that its code is released under the GPL or compatible license

https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html

1 个赞

remacs怎么了? 是项目本身推进不慢, 还是这个它的方法帮不了emacs太多?

https://www.iro.umontreal.ca/~monnier/hopl-4-emacs-lisp.pdf

Evolution of Elisp 里6.3提到了FFI的问题

担心版权问题,RMS 在这方面极度的“洁癖”。

RMS 是 Emacs 进步的绊脚石 :dog:

这么早就有窗口管理器了啊

其實如果 remacs 不嫌棄 XEmacs 用的 motif 老气的话,明明从 XEmacs 开始 fork 会更好。SXEmacs 的 WM 组件都是直接用 C 调 xlib 的,不用像 EXWM 还要从 elisp 再写个 X11 protocol,大概就是为什么 SXEmacs 的 WM 比 EXWM 早。XEmacs 的 FFI 相比 dynamic module 省去了编译/分发 module 的步驟,只要本地有 dynamic library 就行了,binding 完全可以用 elisp 写。

RMS 和一般 Emacs 用户的冲突在于,一般用户只想要在主流 OS 上用上最新最酷的技术,而 RMS 宁可犧牲功能也要让 GNU Emacs 能在龙芯笔记本上跑(。以前因为这个冲突出了 XEmacs,这几年 GNU Emacs 至少 UI 做得好看了,XEmacs 反而因为实现差异太大不能反向 port 失寵了。

然而我本人对 RMS 这样为 exotic platform 用户提供选择的自由是表示尊重的。XEmacs 对用户一度的貢獻也是值得肯定的,至于 remacs 这种不知道要干啥的我就 emmm。

3 个赞

他龙芯笔记本不是早坏了?

My main machines run on Core 2 Duos, so I definitely care about those “old” machines,

from Stefan Monnier

只有穷人才会去搞FSF,可能富人不知道被垄断软件阻挡了自由之路的切肤之痛吧。

1 个赞

Stefan是大学教授,这边大学教授的工资和待遇还是很可以的

谁在windows上编译成功了native-comp分支啊?

我觉得两者都是吧,现在重写 C 部分不超过 10%吧,任重道远

Rust社区干的主要事情就是每周在reddit上宣布他们又用rust重写了一个C/C++软件,性能提升了2.5%

1 个赞

探索一种可以在Github上开发Emacs的合作方式。缓解了现在年轻人看见开源就只知道Github,不在github开发的项目就不是知名项目的焦虑 :dog:

要能提升2.5不也是提升吗?毕竟本来是c/c++写的,再提升也有限了

从这里看,当他们把 C/C++ 的代码全重写完了之后,Rust 就没有发展空间了?:smirk: