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 desktoppakiet działa, ponieważ Emacs pamięta zmienne globalne, które dodałem desktop-globals-to-savew moim pliku init.
-
EDYCJA: savehistteż nie działa. Przypuszczam, że to dlatego, że jest comint-input-ringzmienną lokalną dla bufora.
savehistjuż 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-ringjest to bufor lokalny. Teraz i tak spróbowałem, bez powodzenia.
comint.elnastę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-ringdo desktop-locals-to-save. Na koniec ponownie skompiluj odpowiednie pliki, uruchom ponownie Emacsa i ciesz się pełnią życia.
savehist.eltej zmiennej i dodać ją do listy zmiennych, aby zapisać.