Quelle fonctionnalité manque dans GNU Emacs par rapport à XEmacs?

32

En termes de fonctionnalité, quels sont les points clés qui distinguent actuellement XEmacs de GNU Emacs?

Pour tenir compte des différents calendriers de publication, la version de développement la plus récente de chaque version d’Emacs doit être considérée comme la base de comparaison.

Nous devrions éviter les disputes sur des questions historiques / organisationnelles / philosophiques / ..., veuillez donc mentionner uniquement des différences purement fonctionnelles / techniques.

paprika
la source
1
XEmacs est effectivement mort (la dernière version stable date de 2009), donc c'est à peu près sans importance. Presque toutes ses fonctionnalités "spéciales" ont été intégrées à GNU Emacs (je ne connais pas assez de détails pour y répondre de manière définitive).
Shosti
4
@shosti: La question ne concerne pas les fonctionnalités non pertinentes qui existent dans XEmacs, mais qui n'existent pas dans GNU Emacs - aussi rares soient-elles. Ou même pour les fonctionnalités qui existent mais qui pourraient avoir une meilleure conception ou implémentation dans XEmacs. Que GNU Emacs adopte ou non de telles choses est une question distincte. Mais cette question n’est pas sans importance, en particulier pour le développement futur de GNU Emacs. (Cela peut ne pas être pertinent pour quelqu'un qui veut juste choisir entre les deux, en tant qu'utilisateur.)
Drew

Réponses:

27

Autant que je sache, il y a principalement une fonctionnalité présente dans XEmacs depuis très longtemps et qui manque toujours à GNU Emacs: le chargement dynamique de modules écrits en C ou FFI.

Bien que cela soit régulièrement discuté sur la liste de diffusion emacs-devel, et que le mainteneur actuel ne s'objecte plus à sa mise en œuvre, il s'agit toujours d'un travail en cours.

Au moment de la rédaction de ce document, l’intégration de certaines fonctionnalités supplémentaires est activement différée jusqu’à ce qu’une FFI appropriée existe (par exemple, les liaisons json et yaml ). On peut donc raisonnablement s’attendre à ce que cette dernière fonctionnalité manquante soit implémentée.

En effet, il y a des signes que le code pour cette fonctionnalité serait maintenant le bienvenu dans la base de code pour Emacs 25 tant qu'ils sont désactivés par défaut.

Sigma
la source
8

Comme Emacs est extensible, toute fonctionnalité manquante dans Emacs peut être ajoutée avec les packages ELisp appropriés. Les différences importantes sont internes:

  • XEmacs utilise les types opaques appropriés pour les caractères, les événements, les keymaps, etc., où Emacs utilise des entiers et des listes.
  • XEmacs a une étendue en tant qu'abstraction unificatrice où Emacs a des propriétés de texte et des superpositions.

Étant donné que XEmacs n’est pour l’essentiel pas entretenu de nos jours, il est utile de travailler sur les faiblesses mineures du système de types d’Emac et d’utiliser la version maintenue.

jch
la source