Emacs 24.3 trở xuống
Không có cách tích hợp nào để ngăn chặn các tệp cũ này được tải, nhưng có những cách dễ dàng để loại bỏ chúng.
- Bạn có thể biên dịch lại toàn bộ thư mục elpa bằng cách gọi :
M-x byte-recompile-directory RET ~/.emacs.d/elpa/
.
Điều này sẽ thoát khỏi các tập tin lỗi thời.
- Bạn có thể sử dụng
gói tự động biên dịch và kích hoạt
auto-compile-on-load-mode
có thể biên dịch các tệp trước khi chúng được tải.
Emacs 24.4
Vâng, và nó hóa ra khá đơn giản. Các load-prefer-newer
biến phục vụ chính xác mục đích này.
(setq load-prefer-newer t)
Thật không may, nó sẽ không hoạt động khi một số mã đặc biệt nhắm mục tiêu vào
.elc
tệp, chẳng hạn như (load "server.elc")
. Nhưng nó là đủ miễn là bạn đang sử dụng require
hoặc gọi load
mà không có hậu tố, mà bạn nên.
Từ tài liệu:
load-prefer-mới hơn là một biến được định nghĩa trong lread.c.
Giá trị của nó là con số không
Tài liệu:
Non-nil có nghĩa là tải thích phiên bản mới nhất của tệp.
Điều này áp dụng khi hậu tố tên tệp không được chỉ định rõ ràng và tải đang thử các hậu tố có thể khác nhau (xem hậu tố tải và hậu tố tải tệp-rep-hậu tố). Thông thường, nó dừng lại ở tệp đầu tiên tồn tại trừ khi bạn chỉ định rõ ràng cái này hay cái kia. Nếu tùy chọn này là không, nó sẽ kiểm tra tất cả các hậu tố và sử dụng tệp nào mới nhất.
Lưu ý rằng nếu bạn tùy chỉnh điều này, rõ ràng nó sẽ không ảnh hưởng đến các tệp được tải trước khi các tùy chỉnh của bạn được đọc!
auto-compile
thư viện (xuất sắc!) Trong Emacs 24.4+, cũng như bên dưới. Đó là một giải pháp cấu hình và quên thực sự.load-prefer-newer
chỉ đảm bảo rằng bạn sẽ tiếp tục chạy mã chưa được biên dịch chậm sau khi mã được biên dịch của bạn hết hạn.