我无法使Emacs记住*ielm*
会话之间的缓冲区的历史记录。据我所知,这种历史记录记录在buffer-local变量中comint-input-ring
。因此,我在初始化文件中添加了以下表达式:
(setq desktop-locals-to-save
(append desktop-locals-to-save
'((comint-input-ring . 50))))
没用 我知道该desktop
软件包正在运行,因为Emacs会记住我desktop-globals-to-save
在init文件中添加的全局变量。
-
编辑:savehist
也不起作用。我想那是因为comint-input-ring
是局部缓冲区变量。
谢谢,德鲁(Drew),但我已经考虑过
—
Elena 2014年
savehist
了(抱歉,我不提了)。据我所知,它仅用于全局变量,而comint-input-ring
局部缓冲区。现在,无论如何我都尝试过,但没有成功。
警告:以下解决方案是亵渎 !!!!
—
法律列表'17
comint.el
在以下两行代码中注释掉: (put 'comint-input-ring 'permanent-local t)
和(make-local-variable 'comint-input-ring)
。然后,添加comint-input-ring
到desktop-locals-to-save
。最后,重新字节编译适用的文件,重新启动Emacs并充分享受生活。
savehist.el
此变量并将其添加到要保存的var列表中。