Emacs—调试ispell错误。

Emacs—调试ispell错误。,emacs,elisp,Emacs,Elisp,每天有几次,我收到一个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

每天有几次,我收到一个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模式
(内置--即不使用AUCTeX)。错误(今天)来自左侧的一个简单地址:

242 S. Orange Avenue\\
Brea, CA ~ 92821

尝试加载
ispell.el
,然后:

  • 试图挑起这个错误。加载源文件(不是字节编译文件)后,您可能会得到更详细的回溯,这将更好地告诉您错误的原因。(显然您已经有了
    错误调试
    nil

  • 如果这还不够,那么在输入ispell命令循环时执行
    M-x调试,并在调试器中遍历执行过程。这应该会告诉你哪里出了问题——函数需要一个数字,而不是
    nil

  • 基于您更好的理解,您可能知道如何避免或解决问题

    如果你不能很容易地重现错误,那么#2可能没有多大帮助。在这种情况下,您可以尝试检查
    ispell命令循环的代码
    ,看看是否可以找出问题所在

    您还可以复制该代码,并在不同的位置插入对
    message
    的调用,以尝试确定出错的地方。瞧,给自己提供一些比稀疏回溯更多的信息

    也许其他人有更好的想法——我的想法在这里非常残忍。

    非常感谢——我会在接下来的几天里尝试一下,然后回来汇报——)