Emacs bzr中的最近(幾天)更改在使用defadvice
的代碼中觸發了一個非常奇怪的錯誤,該錯誤與以前版本的Emacs一起使用。通常要加載的例如Emacs快照上的建議失敗
(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
工作正常表達的編譯版本,當我得到例如
Debugger entered--Lisp error: (wrong-type-argument symbolp #[(file newname &optional ok-if-already-exists)
...
ad-activate(rename-file nil)
。我試了好幾個小時才弄清楚什麼是錯,但沒有運氣。在我建議功能的其他幾種情況下也會出現類似的問題。
爲什麼要使用StackOverflow提出有關從源代碼控制構建的快照的錯誤報告? 'M-x report-emacs-bug' – phils
我當然完全同意phils,並補充說我鼓勵人們現在使用'emacs-24'分支,以幫助我們修復24.3版本之前的錯誤。 – Stefan
該錯誤已在更新的版本中修復。我不會再爲這些東西使用stackoverflow。謝謝。啊哈! –