Saya tidak bisa membuat Emacs mengingat sejarah untuk *ielm*buffer di antara sesi. Sejauh yang saya tahu, sejarah tersebut dicatat dalam variabel buffer-local comint-input-ring. Karena itu saya telah menambahkan ekspresi berikut ke file init saya:
(setq desktop-locals-to-save
(append desktop-locals-to-save
'((comint-input-ring . 50))))
Itu tidak bekerja. Saya tahu bahwa desktoppaket itu berfungsi karena Emacs mengingat variabel global yang telah saya tambahkan ke desktop-globals-to-savedalam file init saya.
-
EDIT: savehisttidak berfungsi juga. Saya kira itu karena comint-input-ringvariabel penyangga-lokal.
savehist(maaf karena tidak menyebutkannya). Sejauh yang saya bisa lihat, itu hanya untuk variabel global, sedangkan comint-input-ringbuffer-lokal. Sekarang, saya sudah mencobanya, tanpa hasil.
comint.eldalam dua baris kode berikut: (put 'comint-input-ring 'permanent-local t)dan (make-local-variable 'comint-input-ring). Lalu, tambahkan comint-input-ringke desktop-locals-to-save. Terakhir, kompilasi ulang byte file yang berlaku, mulai ulang Emacs dan nikmati kehidupan semaksimal mungkin.
savehist.eldan menambahkan variabel ini ke daftar vars untuk menyimpan.