Làm thế nào tôi có thể biết gói emacs tích hợp nào cần phải 'yêu cầu?


8

Tôi đã đọc qua Changelog cho emacs 24.4 ( C-hn) và đang thử xem tính năng Thông báo tệp là gì. Tôi đã thử làm C-hvmột biến liên quan auto-revert-use-notifynhưng không có gì hiển thị.

Sau đó tôi đã ghi lại tên biến đó trong mã nguồn emacs và thấy rằng nó đã được sử dụng lisp/autorevert.el. Sau khi thực hiện (require 'autorevert), tất cả các hàm và biến cơ bản đã được xác định.

Câu hỏi: Làm thế nào để tôi biết nếu và những gì tôi cần requirenếu tôi muốn sử dụng tính năng tích hợp emacs sau đó không hoạt động? Có một danh sách các gói như vậy có sẵn?


Tôi thường sử dụng helrop apropos để tìm ra loại lệnh / hàm / biến nào có sẵn cho tôi. Hóa ra đôi khi cài đặt chính xác mà tôi muốn là "tích hợp", nhưng requiretrước tiên tôi phải cài đặt gói.
nispio

Câu trả lời:


6

Câu trả lời, theo như tôi biết, cho câu hỏi của bạn là " Bạn không thể biết " và " Không có danh sách các thư viện như vậy ".

aproposvà các lệnh tương tự chỉ dựa trên những gì hiện đang được tải hoặc tự động tải, chứ không phải những gì được phân phối với Emacs. Trừ khi một cái gì đó được (a) tích hợp (nghĩa là trong mã C), (b) có sẵn từ một thư viện đã được tải hoặc (c) được tự động tải, nó không được chọn bởi các lệnh đó.

Trong trường hợp đó, khu nghỉ mát duy nhất của bạn là tìm kiếm mã nguồn (theo như tôi biết). Grepping là một cách để làm điều đó.

Nếu một biến như auto-revert-use-notify(là tùy chọn người dùng) được đề cập rõ ràng trong Emacs News ( C-h N), thì thật tuyệt nếu đề cập đó được liên kết với thư viện nguồn xác định nó, vì vậy bạn chỉ cần nhấn REThoặc nhấp mouse-2vào tên của nó để mở tệp thư viện theo định nghĩa của nó. Bạn có thể muốn sử dụng M-x report-emacs-bugđể gửi yêu cầu nâng cao.

(Nói chung cũng có thể hữu ích khi có lệnh để thực hiện điều đó: tìm kiếm định nghĩa của biến hoặc hàm trong mã nguồn phân tán, mà không cần thư viện cần tải. Trong trường hợp này, bạn biết tên biến chính xác, nhưng phải greptìm nơi nó được định nghĩa.)


Có vẻ như đã đến lúc một require+gói cho phép bạn duyệt các biểu tượng của các gói chưa được tải. ;-)
nispio

@nispio: Đi cho nó! Với các hành vi tùy chọn để tìm kiếm (1) thư viện được cung cấp với phân phối Emacs hoặc (2) thư viện trong của bạn load-path. ;-) (Nhưng một thư viện có tên apropos+.elđã tồn tại, tuy nhiên rất nhỏ và điều này không thực sự về require.)
vẽ
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.