Emacs Snapshot上的建议失败

时间:2012-11-11 23:33:54

标签: emacs elisp

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评估表达式可以正常工作。我已经试了几个小时才弄清楚出了什么问题,但没有运气。在我建议功能的其他几种情况下也会出现类似的问题。

1 个答案:

答案 0 :(得分:1)

这是一个上游错误。看看讨论here。据我所知,目前正在进行大量的内部更改,因为Emacs 24.3将从建议转换为包装钩。