与XEmacs相比,GNU Emacs缺少什么功能?


32

在功能方面,目前区分XEmacs和GNU Emacs的关键点是什么?

为了考虑不同的发布时间表,应将每种Emacs风格的最新开发版本视为比较的基础。

我们应该避免就历史/组织/哲学/ ...问题争论不休,因此请仅提及纯粹的功能/技术差异。


1
XEmacs实际上已经死了(最新的稳定版本是2009年),因此它几乎是无关紧要的。它的几乎所有“特殊”功能都已合并到GNU Emacs中(我不知道有足够的细节可以确定地回答)。
shosti

4
@shosti:问题不是XEmacs中存在但GNU Emacs中不存在的无关功能,但是可能很少。甚至对于已存在但在XEmacs中可能具有更好的设计或实现的功能。GNU Emacs是否会采用这种方法是一个单独的问题。但是这个问题并不是无关紧要的,特别是对于GNU Emacs的未来发展而言。(对于只想在两者之间进行选择的用户来说,这可能无关紧要。)
Drew

Answers:


27

据我所知,XEmacs中主要已经存在了很长时间的功能,而GNU Emacs仍然缺少该功能:动态加载用C或FFI编写的模块

尽管在emacs-devel邮件列表中定期讨论了问题,并且当前的维护者不再反对对其实施,但它仍在进行中。

在撰写本文时,积极地推迟了一些附加功能的集成,直到存在诸如适当的FFI之类的东西(例如json和yaml绑定),因此可以合理地预期应该实现这一最后缺失的功能。

实际上,有迹象表明,只要默认情况下禁用Emacs 25的代码库,现在就可以使用此功能的代码。


8

由于Emacs是可扩展的,因此可以通过合适的ELisp软件包添加Emacs中缺少的任何功能。重要的区别是内部的:

  • XEmacs为字符,事件,键映射等使用适当的不透明类型。其中,Emacs使用整数和列表。
  • XEmacs具有作为统一抽象的范围,其中Emacs具有文本属性和覆盖。

由于XEmacs如今几乎不需要维护,因此值得解决Emacs的类型系统中的次要缺陷并使用已维护的版本。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.