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.
Réponses:
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.
la source
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:
É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.
la source
Xah Lee a écrit en 2007 à propos des paquets XEmacs qu'il pensait être plus matures. De nos jours, GNU Emacs a package.el, il est donc difficile de trouver des paquetages plus élaborés sur XEmacs.
Le site Web XEmacs a également une page qui documente les différences .
XEmacs ne prend pas en charge les macros de lecteur définis par l' utilisateur, mais il prend en charge les macros de lecteur supplémentaires
#+
et#-
.la source