Nie mogę zmusić Emacsa do zapamiętania historii *ielm*
buforów między sesjami. O ile wiem, taka historia jest zapisywana w zmiennej lokalnej bufora comint-input-ring
. Dlatego dodałem następujące wyrażenie do mojego pliku init:
(setq desktop-locals-to-save
(append desktop-locals-to-save
'((comint-input-ring . 50))))
To nie działa Wiem, że desktop
pakiet działa, ponieważ Emacs pamięta zmienne globalne, które dodałem desktop-globals-to-save
w moim pliku init.
-
EDYCJA: savehist
też nie działa. Przypuszczam, że to dlatego, że jest comint-input-ring
zmienną lokalną dla bufora.
savehist
już o tym myślałem (przepraszam, że o tym nie wspominałem). O ile mogłem zobaczyć, dotyczyło to tylko zmiennych globalnych, podczas gdy comint-input-ring
jest to bufor lokalny. Teraz i tak spróbowałem, bez powodzenia.
comint.el
następujących dwóch wierszy kodu: (put 'comint-input-ring 'permanent-local t)
i (make-local-variable 'comint-input-ring)
. Następnie dodaj comint-input-ring
do desktop-locals-to-save
. Na koniec ponownie skompiluj odpowiednie pliki, uruchom ponownie Emacsa i ciesz się pełnią życia.
savehist.el
tej zmiennej i dodać ją do listy zmiennych, aby zapisać.