在 Emacs 中,某些变量在通过 Mx customize 设置时具有特殊行为,当您通过setq
. 是否有一种编程方式来设置此类变量,以便触发特殊行为,就好像用户通过自定义设置了变量一样?
此外,是否有以编程方式将值保存到用户自定义文件的功能?我正在尝试实现将默认元素重新添加到列表中的功能,而不会删除用户添加的元素。
在 Emacs 中,某些变量在通过 Mx customize 设置时具有特殊行为,当您通过setq
. 是否有一种编程方式来设置此类变量,以便触发特殊行为,就好像用户通过自定义设置了变量一样?
此外,是否有以编程方式将值保存到用户自定义文件的功能?我正在尝试实现将默认元素重新添加到列表中的功能,而不会删除用户添加的元素。
customize-set-variable
是你想要的,而不是custom-set-variables
(这里不需要)。
一般来说,最好也看看defcustom
变量(用户选项),看看它的:set
插槽做了什么等。不是必需的,但在你尝试以编程方式设置值之前了解一下是个好主意。
对问题的回复help-gnu-emacs@gnu.org
也可能有所帮助:
http: //lists.gnu.org/archive/html/help-gnu-emacs/2013-08/msg00544.html
更新:
您后来编辑了您的问题,还询问了有关保存新值的问题。为此,您可以使用customize-save-variable
. 它设置并保存新值。
使用default-value
后面提到的函数custom-set-variable
可能会做到这一点。