Emacs bzr最近(几天)的更改在使用defadvice的代码中触发了一个非常奇怪的错误,该错误适用于以前版本的Emacs。通常我会得到这样的例子
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计算表达式可以很好地工作。我已经试了几个小时来找出问题出在哪里,但没有成功。类似的问题也出现在我建议起作用的其他几种情况中。
发布于 2012-12-08 17:23:36
这是一个上游的bug。请看一下讨论here。据我所知,现在有很多内部变化正在进行,因为Emacs24.3将从围绕建议切换到包装器挂钩。
https://stackoverflow.com/questions/13336632
复制相似问题