2014-02-22 39 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
    • 一般用法错误,如
      • 函数调用不正确的参数计算
      • 宏扩展错误

    这些类型的问题通常很容易解决。请记住,您可以随时重新定义软件包的功能和变量,如果它们损坏了。