emacs启动报错该如何调试?

一阵折腾后,重启emacs报错了。

报错信息是:

Warning (initialization): An error occurred while loading ‘/Users/kinney/.emacs.d/init.el’:

End of file during parsing: /Users/kinney/.emacs.d/myconfig.el

emacs版本27, 平台MacOS Mojave。

按理说–debug-init应该会显示报错细节的,但是还是上面的报错信息,信息量太小了,根本没办法调试,该怎么办?

重启前最后的操作是,用projectile添加了一个新的文件夹进去,但是无法进入文件夹进行搜索。会不会和这个有关系。

刚刚问题找到了 :sweat_smile: ,原来是我的myconfig.org文件中多打了一个左括号。我是把所有配置都写在org文件中,启动时写入.el文件。所以应该是这种情况不会有具体的报错信息吧,以后要小心一点了,这种情况还是挺麻烦的。

上面给出的 End of file during parsing 就是这个意思,虽然它没给出具体位置,你编辑 Sexp 时应该随时保持括号平衡,ParEdit 就是这个买点。Emacs 也有不少办法帮你编辑括号和检查括号,如 M-x check-parens

1 个赞

好的,学到了!

它比较笨,少个括号只能告诉你少了个括号,并不能告诉你是哪里少了。我自从用了paredit之类就再没有出现这种情况了:paredit smartparens lispy lispyville……