Emacs bzr中的最近(天)更改在使用与先前版本的Emacs一起使用的defadvice
的代码中引发了一个非常奇怪的错误。通常我会得到例如
Debugger entered--Lisp error: (wrong-type-argument symbolp #[(file newname &optional ok-if-already-exists)
...
ad-activate(rename-file nil)
尝试加载例如
的编译版本时(defadvice rename-file (around sync-ectags-rename-file (file newname &optional ok-if-already-exists) activate)
"Update ectags for renaming of FILE to NEWNAME."
(ectags-unregister-tag-file file)
ad-do-it
(ectags-register-tag-file newname))
然而,使用上面的C-x C-e
评估表达式可以正常工作。我已经试了几个小时才弄清楚出了什么问题,但没有运气。在我建议功能的其他几种情况下也会出现类似的问题。