Não consigo fazer o Emacs lembrar a história dos *ielm*buffers entre as sessões. Tanto quanto posso dizer, esse histórico é registrado na variável buffer-local comint-input-ring. Portanto, eu adicionei a seguinte expressão ao meu arquivo init:
(setq desktop-locals-to-save
(append desktop-locals-to-save
'((comint-input-ring . 50))))
Isso não funciona. Eu sei que o desktoppacote está funcionando porque o Emacs se lembra das variáveis globais às quais eu adicionei desktop-globals-to-saveno meu arquivo init.
-
EDIT: savehisttambém não funciona. Suponho que seja porque comint-input-ringé uma variável local de buffer.
savehist(desculpe por não ter mencionado). Tanto quanto pude ver, era apenas para variáveis globais, enquanto comint-input-ringé local de buffer. Agora, eu tentei de qualquer maneira, sem sucesso.
comint.elas duas linhas de código a seguir: (put 'comint-input-ring 'permanent-local t)e (make-local-variable 'comint-input-ring). Em seguida, adicione comint-input-ringa desktop-locals-to-save. Por fim, recompile novamente os arquivos aplicáveis, reinicie o Emacs e aproveite a vida ao máximo.
savehist.ele adicionar essa variável à lista de vars para salvar.