Chức năng nào còn thiếu trong GNU Emacs khi so sánh với XEmac?


32

Về chức năng, các điểm chính hiện nay phân biệt XEmac với GNU Emacs là gì?

Để tính đến các lịch phát hành khác nhau, phiên bản phát triển gần đây nhất của mỗi hương vị Emacs nên được coi là cơ sở để so sánh.

Chúng ta nên tránh tranh luận về các vấn đề lịch sử / tổ chức / triết học / ..., vì vậy vui lòng chỉ đề cập đến sự khác biệt hoàn toàn về chức năng / kỹ thuật.


1
XEmacs đã chết một cách hiệu quả (bản phát hành ổn định cuối cùng là vào năm 2009), vì vậy nó không liên quan lắm. Hầu như tất cả các tính năng "đặc biệt" của nó đã được tích hợp vào GNU Emacs (Tôi không biết đủ thông tin cụ thể để trả lời dứt khoát).
shosti

4
@shosti: Câu hỏi không phải là các tính năng wrt không liên quan tồn tại trong XEmacs nhưng không tồn tại trong GNU Emacs - tuy nhiên rất ít có thể có. Hoặc thậm chí cho các tính năng tồn tại nhưng có thể có thiết kế hoặc triển khai tốt hơn trong XEmacs. GNU Emacs có chấp nhận những thứ như vậy hay không là một câu hỏi riêng biệt. Nhưng câu hỏi này không liên quan, đặc biệt là cho sự phát triển của GNU Emacs trong tương lai. (Có thể không liên quan khi ai đó chỉ muốn chọn giữa hai người, với tư cách là người dùng.)
Drew

Câu trả lời:


27

Theo như tôi có thể nói, chủ yếu có một tính năng đã có trong XEmac trong một thời gian rất dài và vẫn còn thiếu từ GNU Emacs: tải các mô-đun động được viết bằng C hoặc FFI

Mặc dù điều này thường được thảo luận trong danh sách gửi thư của emacs-devel, và không còn bất kỳ sự phản đối nào đối với việc thực hiện nó từ người bảo trì hiện tại, nó vẫn đang được tiến hành.

Theo văn bản này, việc tích hợp một số tính năng bổ sung được tích cực hoãn lại cho đến khi tồn tại một điều như một FFI thích hợp (ví dụ, các ràng buộc json và yaml ), do đó, người ta có thể mong đợi một cách hợp lý rằng tính năng bị thiếu cuối cùng này sẽ được thực hiện.

Thực tế, có những dấu hiệu cho thấy mã cho tính năng này sẽ được chào đón trong cơ sở mã cho Emacs 25 miễn là chúng bị tắt theo mặc định.


8

Vì Emacs có thể mở rộng, bất kỳ tính năng nào còn thiếu trong Emacs đều có thể được thêm bằng các gói ELisp phù hợp. Sự khác biệt quan trọng là nội bộ:

  • XEmacs sử dụng các loại mờ thích hợp cho các ký tự, sự kiện, keymap, v.v ... trong đó Emacs sử dụng các số nguyên và danh sách;
  • XEmacs có phạm vi rộng như một sự trừu tượng thống nhất trong đó Emacs có các thuộc tính văn bản và lớp phủ.

Do XEmacs hầu như không được biết đến ngày nay, nên rất đáng để khắc phục những thiếu sót nhỏ trong hệ thống loại của Emacs và sử dụng phiên bản được bảo trì.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.