2014-02-22 72 views
0

我已經從elpa存儲庫安裝了persp模式工作區包。 persp-mode取決於工作區elisp調試和elc文件

我無法得到persp-mode直到workspace.elc文件被刪除。我已經對此文件進行了備份以進行故障排除。

  • 什麼可能是錯誤的原因?
  • 如何系統地調試此問題?
+1

對於這兩個軟件包,沒有* .elc文件(即只是* .el文件),現在一切正常嗎?如果是這樣,那麼只需「M-x字節編譯」新的* .elc文件。 – lawlist

+0

如果在重新編譯文件後繼續收到錯誤消息,請告訴我們錯誤消息是什麼。 –

+0

@ChrisBarrett:在重新編譯workspace.el文件後它很好。所以看起來workspace.elc文件編譯不正確。工作和非工作workspace.elc文件的二進制文件不同。如何系統地調試這個問題? –

回答

0

沒有你給我們的錯誤消息,很難知道是什麼原因造成這一點,但一般調試編譯問題的最簡單的方法是重新啓動的Emacs(讓您擁有一個清新的形象),返回到源文件和用M-x emacs-lisp-byte-compile-and-load重新編譯它。這將顯示文件編譯時發生的任何錯誤或警告。查找以下:

  • 不確定的變量和函數,這往往表明,沒有被要求的包裝
  • 簡單的打字錯誤
  • unexpected end of input錯誤
    • 特點,這表明不平衡parens
    • 一般用法錯誤,如
      • 函數調用不正確的參數計算
      • 宏擴展錯誤

    這些類型的問題通常很容易解決。請記住,您可以隨時重新定義軟件包的功能和變量,如果它們損壞了。