Jakiej funkcjonalności brakuje w GNU Emacs w porównaniu do XEmacs?

32

Jeśli chodzi o funkcjonalność, jakie są kluczowe punkty, które obecnie odróżniają XEmacs od GNU Emacs?

Aby uwzględnić różne harmonogramy wydań, należy wziąć pod uwagę najnowszą wersję rozwojową każdego smaku Emacsa jako podstawę do porównania.

Powinniśmy unikać sporów o kwestie historyczne / organizacyjne / filozoficzne / ..., więc proszę tylko wspomnieć o różnicach czysto funkcjonalnych / technicznych.

papryka
źródło
1
XEmacs jest faktycznie martwy (ostatnia stabilna wersja miała miejsce w 2009 roku), więc jest prawie nieistotny. Prawie wszystkie jego „specjalne” funkcje zostały włączone do GNU Emacs (nie znam wystarczającej ilości szczegółów, aby definitywnie odpowiedzieć).
shosti
4
@shosti: Pytanie nie jest nieistotnymi cechami wrt, które istnieją w XEmacs, ale nie istnieją w GNU Emacs - jakkolwiek może ich być niewiele. Lub nawet dla funkcji, które istnieją, ale mogą mieć lepszy projekt lub implementację w XEmacs. To, czy GNU Emacs kiedykolwiek przyjmie takie rzeczy, jest osobnym pytaniem. Ale to pytanie nie jest bez znaczenia, szczególnie dla przyszłego rozwoju GNU Emacs. (Może to być nieistotne dla kogoś, kto chce wybrać między nimi jako użytkownik.)
Drew

Odpowiedzi:

27

O ile mi wiadomo, w XEmacs od dawna obecna jest głównie jedna funkcja, której wciąż brakuje w GNU Emacs: dynamiczne ładowanie modułów napisanych w C lub FFI

Chociaż jest to regularnie omawiane na liście mailingowej emacs-devel i nie ma już sprzeciwu wobec jego implementacji od obecnego opiekuna, to wciąż jest w toku.

W chwili pisania tego tekstu integracja niektórych dodatkowych funkcji jest aktywnie odkładana do momentu istnienia czegoś takiego, jak poprawne FFI (na przykład wiązania json i yaml ), więc można zasadnie oczekiwać, że ta ostatnia brakująca funkcja powinna zostać zaimplementowana.

W rzeczywistości istnieją oznaki, że kod dla tej funkcji będzie teraz mile widziany w bazie kodu Emacsa 25, o ile są one domyślnie wyłączone.

Sigma
źródło
8

Ponieważ Emacs jest rozszerzalny, każdą funkcję, której brakuje w Emacsie, można dodać za pomocą odpowiednich pakietów ELisp. Ważne różnice są wewnętrzne:

  • XEmacs używa odpowiednich nieprzezroczystych typów znaków, zdarzeń, map klawiszy itp., W których Emacs używa liczb całkowitych i list;
  • XEmacs ma zakres jako ujednolicającą abstrakcję, w której Emacs ma właściwości tekstu i nakładki.

Ponieważ XEmacs jest obecnie w większości nieobsługiwany, warto obejść drobne niedociągnięcia w systemie typu Emacsa i używać utrzymanej wersji.

jch
źródło