我正在使用从repo中检出的最新nXhtml,并使用GNU Emacs版本24.0.91.1。当我打开一个PHP文件时,它显示为非语法高亮显示的文本,并且出现编译错误:
Error: Wrong type argument: number-or-marker-p, nil
并在日志中显示一条消息:
File mode specification error: (cl-assertion-failed (functionp byte-compiled-fun))
我通过使用此命令运行emacs来避开我的.emacs
和.emacs.d
:
emacs -Q --eval '(load "/path/to/nxhtml/autostart")' /path/to/nxhtml/tests/in/heredoc.php
即使您没有修复,我该如何调试此问题?
答案 0 :(得分:1)
最近,Emacs(24)的开发版本似乎存在大量此类错误类型参数错误。这可能代表了一个Emacs错误。或者它可能代表一个nXhtml错误。
我建议首先通知nnhtml作者Lennart,试图从emacs -Q
开始给他一个明确的食谱。
如果这没有帮助,请考虑提交Emacs错误:M-x report-emacs-bug
。
要尝试自己调试一下,请确保只加载源文件(例如,对于nXhtml),即*.el
,而不是*.elc
,最好从emacs -Q
开始(不初始文件)。请M-x set-variable debug-on-error t
查看错误发生的位置。然后可能使用M-x debug-on-entry FUNCTION
,其中FUNCTION
是似乎已经引发错误的函数。然后逐步执行Emacs调试器,点击d
进入步骤c
跳过一步。
但是,我建议从Lennart开始。
答案 1 :(得分:0)
试用最新版本的Emacs。
我遇到了同样的问题(在Windows 7上):
Error: Wrong type argument: number-or-marker-p, nil
在nxhtml-loaddefs.el的第1471行。
Nxhtml在Emacs 24.1。50。1(2012年4月23日)上似乎很好。