';解析期间文件结束';尝试退出Emacs时
当我试图杀死Emacs时(使用';解析期间文件结束';尝试退出Emacs时,emacs,Emacs,当我试图杀死Emacs时(使用save buffers kill terminal),我得到了错误 End of file during parsing 查看*消息*缓冲区,我看到: progn: End of file during parsing 即使debug on error设置为t,也不会显示任何*Backtrace*缓冲区 我如何知道发生了什么?以找出问题的根源 是的,这意味着多次重新启动和退出Emacs,但这是一个二进制搜索,因此它实际上非常快,即使它基本上是轻率的。重要的是,
save buffers kill terminal
),我得到了错误
End of file during parsing
查看*消息*
缓冲区,我看到:
progn: End of file during parsing
即使debug on error
设置为t
,也不会显示任何*Backtrace*
缓冲区
我如何知道发生了什么?以找出问题的根源
是的,这意味着多次重新启动和退出Emacs,但这是一个二进制搜索,因此它实际上非常快,即使它基本上是轻率的。重要的是,它是系统的,而猜测通常不是
同样,如果您发现问题来自您加载的某个库:递归地将其平分,以查找其中的问题
正如@phils所说,
check parens
也是您的朋友。您如何调用save buffers kill terminal
?您是在键入M-x save buffers kill terminal
,还是在键入C-x C-C
,或其他内容?另外,您启用了哪些主要模式和次要模式?键入C-xc-C。我有一个相当大的emacs文件,其中包含许多外部包,因此有一种方法可以缩小问题的范围。您可以尝试C-hkc-xc-C
以确保save buffers kill terminal
实际上是被调用的函数吗?这听起来很像库中列出的自动加载函数的不平衡参数在kill-emacs-hook
或kill-emacs-query-functions
或类似的程序中M-x check parens
对于显示问题所在非常有用,但您需要知道在哪个elisp文件中运行它。