¿Qué funcionalidad falta en GNU Emacs en comparación con XEmacs?


32

En términos de funcionalidad, ¿cuáles son los puntos clave que actualmente distinguen a XEmacs de GNU Emacs?

Para tener en cuenta los diferentes programas de lanzamiento, la versión de desarrollo más reciente de cada versión de Emacs debe considerarse como la base para la comparación.

Deberíamos evitar discusiones sobre cuestiones históricas / organizativas / filosóficas / ..., así que solo mencione las diferencias puramente funcionales / técnicas.


1
XEmacs está efectivamente muerto (la última versión estable fue en 2009), por lo que es prácticamente irrelevante. Casi todas sus características "especiales" se han incorporado a GNU Emacs (no sé suficientes detalles para responder definitivamente).
shosti

44
@shosti: La pregunta no es irrelevante sobre las características de wrt que existen en XEmacs pero que no existen en GNU Emacs, por muy pocas que sean. O incluso para características que existen pero que podrían tener un mejor diseño o implementación en XEmacs. Si GNU Emacs alguna vez adoptará tales cosas es una pregunta separada. Pero esta pregunta no es irrelevante, especialmente para el desarrollo futuro de GNU Emacs. (Puede ser irrelevante para alguien que solo quiera elegir entre los dos, como usuario).
Drew

Respuestas:


27

Por lo que puedo decir, hay principalmente una característica que ha estado presente en XEmacs durante mucho tiempo y que aún falta en GNU Emacs: cargar dinámicamente módulos escritos en C o FFI

Si bien esto se discute regularmente en la lista de correo de emacs-devel, y ya no hay ninguna objeción a su implementación por parte del responsable actual, todavía es un trabajo en progreso.

Al escribir estas líneas, la integración de algunas características adicionales se pospone activamente hasta que exista un FFI adecuado (por ejemplo, enlaces json y yaml ), por lo que uno puede esperar razonablemente que se implemente esta última característica que falta.

Efectivamente, hay indicios de que el código para esta característica ahora sería bienvenido en la base de código para Emacs 25 siempre que estén deshabilitados de forma predeterminada.


8

Dado que Emacs es extensible, cualquier característica que falta en Emacs se puede agregar mediante paquetes ELisp adecuados. Las diferencias importantes son internas:

  • XEmacs usa tipos opacos apropiados para caracteres, eventos, mapas de teclas, etc., donde Emacs usa enteros y listas;
  • XEmacs tiene extensiones como una abstracción unificadora donde Emacs tiene propiedades de texto y superposiciones.

Dado que XEmacs no se mantiene en su mayoría hoy en día, vale la pena evitar las deficiencias menores en el sistema de tipos de Emacs y usar la versión mantenida.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.