Emacs23弹出调试器的频率太高

7

自从我升级到Ubuntu lucid和emacs23后,Emacs在某些情况下会弹出调试器,而emacs22则不会。

例如,在org-mode中按下C-c C-c时,emacs22只会显示“在此位置无法执行任何有用的操作”,而在emacs23中会弹出调试器。

 Debugger entered--Lisp error: (error "C-c C-c can do nothing useful at this location")
   signal(error ("C-c C-c can do nothing useful at this location"))
   error("C-c C-c can do nothing useful at this location")
   org-ctrl-c-ctrl-c(nil)
   call-interactively(org-ctrl-c-ctrl-c nil nil)

这只是说明了一个模式 —— 这种行为不仅限于org-mode。每3分钟发生一次,真的很烦人。我该如何避免它?

我已经尝试使用debug-on-errorstack-trace-on-error来停止它:但都没有起作用。

1个回答

8
很有可能是在您进行配置后,某些内容设置了debug-on-error。以下是一些确认方法:
启动Org Mode,按下C-c C-c进入调试器,再按下q退出。现在执行M-x set-variable RET debug-on-error RET nil RET,然后再尝试一次。
接下来,尝试使用-q参数启动emacs(避免执行init文件),然后进入org mode并按下C-c C-c。这不应该触发调试器。
您可以在site-lisp和custom lisp目录上使用M-x rgrep RET debug-on-error RET(或者也许是debug-on-error t)来帮助追踪哪个库负责此问题。
由于我能够复制您的问题,所以我刚刚为自己完成了这个过程。对我来说,罪魁祸首是:(load "nxhtml/autostart.el")。我现在正在升级nxhtml,我猜这会解决我的问题。
编辑:或者不行。
当前版本的nxhtml已经将语句从autoload.el移动到nxhtml-base.el中。如果这也是您的问题所在,您可以编辑该文件,或确保您的变量自定义发生在nxhtml的autostart文件执行之后。

非常感谢!将自定义语句移到 nxhtml 之下已经起到了帮助作用。 - wnrph
不客气,谢谢你的提问!直到看到你的主题,我才开始思考这个问题,所以这也帮助了我。 - phils

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接