EMACS-DOCUMENT

=============>集思广益

重设defvar定义的值

关于 昨天的博文, 我后来在 Reddit上看到这个问题 就又学到一招. Elisp和大多数的Lisp有一个很反直觉的特性就是由 defvardefcustom 定义的值是不可变的: 一旦设置了值就只能重启进程才能改变.

后来发现,如果你用 Ctrl-Meta-x 而不是 =Ctrl-x Ctrl-e=来执行

(defvar user "Jim")

那么你依然能够重置变量值. 这在开发阶段需要调整参数时,非常有帮助. 虽说Emacs普通用户无需知道这个,而且即使你开发Elisp,也可能不会经常用到这个技巧,不过应用这个技巧还是蛮方便的. 同时这个经历也更加证明了,关于Emacs的学习,学无止境.