2011-11-23 31 views
1

美好的一天,當負荷的源文件到編輯,我得到以下信息工作:的Emacs不能得到flymake上的Emacs 24(Linux)的

File mode specification error: (wrong-type-argument stringp nil) 

和flymake根本然後不工作。 從--init-debug開始不會改善任何音調。任何想法如何調試問題的原因?

回答

3

當Lisp函數實際需要字符串參數但收到nil時,會引發此一般錯誤。

試着在你的.emacs的頂部設置(setq debug-on-error t)得到一個堆棧跟蹤顯示你哪個字符串nil。如果錯誤是由您的中的FlyMake設置引起的.emacshere是一個很好的介紹。

wrong-type-argument異常的更深層的原因是Lisp函數沒有原型,不能依賴解釋器;他們總是被定義的,因此需要自己解析他們的論點。

Emacs Lisp解釋器本身不會執行類型檢查 調用時傳遞給函數的實際參數。 [...] 因此,由單個函數來測試每個 實際參數是否屬於函數可以使用的類型。

欲瞭解更多信息,請參閱Emacs Lisp參考手冊中的Type Predicates