在 Emacs 中,某些变量在通过 M-x 自定义设置时具有特殊行为,当您通过 setq
设置相同变量时不会触发这些行为。 .是否有一种编程方式来设置此类变量,以便触发特殊行为,就像用户通过自定义设置了变量一样?
另外,是否有以编程方式将值保存到用户自定义文件的功能?我正在尝试实现将默认元素重新添加到列表中的功能,而不删除用户添加的元素。
最佳答案
customize-set-variable
是您想要的,而不是custom-set-variables
(这里不需要)。
一般来说,查看 defcustom
也是一个好主意。对于变量(用户选项),查看其 :set
slot 等。不是必需的,但在您尝试以编程方式设置值之前知道它是很好的。
本回复一个help-gnu-emacs@gnu.org
问题也可能有帮助:
http://lists.gnu.org/archive/html/help-gnu-emacs/2013-08/msg00544.html
更新:
您后来编辑了您的问题,还询问了有关保存新值的问题。为此,您可以使用 customize-save-variable
.它设置并保存新值。
关于emacs - 如何在 Emacs Lisp 中以编程方式设置自定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18542892/