Emacs无法在emacs 24上运行flymake(linux)

时间:2011-11-23 09:09:01

标签: emacs

美好的一天,当将任何源文件加载到编辑器中时,我收到以下消息:

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

而flymake根本就没有工作。 从--init-debug开始并没有改善任何方面。知道如何调试问题的原因吗?

1 个答案:

答案 0 :(得分:3)

当Lisp函数实际需要字符串参数但收到nil时会抛出此一般错误。

尝试在 .emacs 的顶部设置(setq debug-on-error t),以获得显示哪个字符串为nil的堆栈跟踪。如果错误是由 .emacs 中的FlyMake设置引起的:here是一个很好的介绍。

wrong-type-argument例外的更深层原因是Lisp函数没有原型,不能依赖解释器;它们总是被定义,因此需要自己解析它们的论点。

  

Emacs Lisp解释器本身不执行类型检查   调用它们时传递给函数的实际参数。 [...]   因此,由各个功能来测试是否各自   实际参数属于函数可以使用的类型。

有关更多信息,请参阅Emacs Lisp参考手册中的Type Predicates