Quali funzionalità mancano in GNU Emacs rispetto a XEmacs?


32

In termini di funzionalità, quali sono i punti chiave che attualmente distinguono XEmacs da GNU Emacs?

Per tenere conto dei diversi programmi di rilascio, la versione di sviluppo più recente di ogni versione di Emacs dovrebbe essere considerata la base per il confronto.

Dovremmo evitare argomenti su questioni storiche / organizzative / filosofiche / ..., quindi si prega di menzionare solo differenze puramente funzionali / tecniche.


1
XEmacs è effettivamente morto (l'ultima versione stabile è stata nel 2009), quindi è praticamente irrilevante. Quasi tutte le sue funzionalità "speciali" sono state incorporate in GNU Emacs (non conosco abbastanza dettagli per rispondere in modo definitivo).
shosti,

4
@shosti: La domanda non è irrilevante rispetto alle funzionalità wrt presenti in XEmacs ma non esistono in GNU Emacs - per quanto poche possano esserci. O anche per funzionalità che esistono ma potrebbero avere una progettazione o implementazione migliore in XEmacs. Se GNU Emacs adotterà o meno tali cose è una domanda separata. Ma questa domanda non è irrilevante, specialmente per il futuro sviluppo di GNU Emacs. (Potrebbe essere irrilevante per qualcuno che vuole solo scegliere tra i due, come utente.)
Disegnato il

Risposte:


27

Per quanto ne so, c'è principalmente una caratteristica che è stata presente in XEmacs per molto tempo e che manca ancora a GNU Emacs: caricare dinamicamente i moduli scritti in C o FFI

Mentre questo viene regolarmente discusso sulla mailing list di emacs-devel e non vi sono più obiezioni alla sua implementazione da parte dell'attuale manutentore, è ancora in fase di elaborazione.

Al momento della stesura di questo documento, l'integrazione di alcune funzionalità aggiuntive viene rimandata attivamente fino a quando non esiste un FFI adeguato (ad esempio i collegamenti json e yaml ), quindi ci si può ragionevolmente aspettare che quest'ultima funzionalità mancante debba essere implementata.

In effetti, ci sono segni che il codice per questa funzione ora sarebbe il benvenuto nella base di codice per Emacs 25 purché siano disabilitati per impostazione predefinita.


8

Poiché Emacs è estensibile, qualsiasi funzione mancante in Emacs può essere aggiunta da pacchetti ELisp adeguati. Le differenze importanti sono interne:

  • XEmacs utilizza tipi opachi appropriati per caratteri, eventi, keymap ecc. Dove Emacs utilizza numeri interi ed elenchi;
  • XEmacs ha le dimensioni come un'astrazione unificante in cui Emacs ha proprietà e sovrapposizioni di testo.

Poiché XEmacs è per lo più non mantenuto al giorno d'oggi, vale la pena aggirare le carenze minori nel sistema di tipi di Emacs e utilizzare la versione mantenuta.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.