5
如何强制重新评估defvar?
假设我有一个Emacs lisp缓冲区,其中包含: (defvar foo 1) 如果我调用eval-last-sexp或eval-buffer,foo则绑定到1。如果我将其编辑为: (defvar foo 2) eval-last-sexp并且eval-buffer不要重新执行这一行,所以foo还是1。 当存在多个这样的语句并且我必须跟踪哪些行没有被重新评估时,这尤其具有挑战性。 我只看过重新启动Emacs的情况,然后(require 'foo),但是我必须小心避免加载任何旧的.elc文件。 我如何才能绝对肯定地确保当前文件中定义的变量和函数处于与在新的Emacs实例中重新加载代码相同的状态?