Tôi không thể làm cho Emacs nhớ lịch sử cho *ielm*bộ đệm giữa các phiên. Theo như tôi có thể nói, lịch sử như vậy được ghi lại trong biến đệm cục bộ comint-input-ring. Vì vậy, tôi đã thêm biểu thức sau vào tệp init của mình:
(setq desktop-locals-to-save
(append desktop-locals-to-save
'((comint-input-ring . 50))))
Nó không hoạt động. Tôi biết rằng desktopgói đang hoạt động vì Emacs nhớ các biến toàn cục mà tôi đã thêm vào desktop-globals-to-savetrong tệp init của mình.
-
EDIT: savehistcũng không hoạt động. Tôi cho rằng đó là vì comint-input-ringmột biến đệm cục bộ.
savehistrồi (xin lỗi vì đã không đề cập đến nó). Theo như tôi có thể thấy, nó chỉ dành cho các biến toàn cục, trong khi đó comint-input-ringlà bộ đệm cục bộ. Bây giờ, tôi đã thử nó bằng mọi cách, nhưng không thành công.
comint.elhai dòng mã sau: (put 'comint-input-ring 'permanent-local t)và (make-local-variable 'comint-input-ring). Sau đó, thêm comint-input-ringvào desktop-locals-to-save. Cuối cùng, biên dịch lại byte các tệp áp dụng, khởi động lại Emacs và tận hưởng cuộc sống trọn vẹn.
savehist.elvà thêm biến này vào danh sách các vars để lưu.