[英]Emacs — Debugging an ispell error .
每天几次,我会收到一个ispell错误(如下所示),该错误可以通过重新启动Emacs来纠正。 任何有关如何进一步解决此类错误的想法,将不胜感激。
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
ispell-command-loop(("Brae" "Br ea" "Br-ea" "Bra" "Bread" "Break" "Bream"
"Brew" "Bret" "Bred" "Area" "Urea") nil "Brea" 2229 2233)
ispell-process-line("^Brea, CA ~ 92821\n" nil)
ispell-region(1 6771)
ispell-buffer()
ispell()
call-interactively(ispell nil nil)
command-execute(ispell)
进行拼写检查的文档处于tex-mode
(内置-即不使用AUCTeX)。 错误(今天)来自一个简单的地址,位于flush-left处:
242 S. Orange Avenue\\
Brea, CA ~ 92821
尝试加载ispell.el
,然后:
尝试引起错误。 加载源文件(而不是字节编译的文件)之后,您可能会得到更详细的回溯,这将更好地告诉您导致错误的原因。 (您显然已经具有debug-on-error
nil
。)
如果这还不能告诉您足够的信息,请执行Mx debug-on-entry ispell-command-loop
,并逐步完成调试器中的执行。 那应该向您显示出了什么地方出了错-该函数需要一个数字而没有nil
。
根据您的更好理解,您可能会知道该怎么做,以避免或解决该问题。
如果您不能轻松地重现该错误,则#2可能不会有太大帮助。 在这种情况下,您可以尝试检查ispell-command-loop
的代码,看看是否可以找出问题出在哪里。
您还可以复制该代码,并在各个位置插入对message
调用,以尝试确定出现问题的地方。 IOW,为您提供一些比稀疏回溯更多的信息。
也许其他人有一个更好的主意-我的在这里是蛮力的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.