我在emacs中随机收到以下错误:
变量绑定深度超过max-specpdl-size
......而且我一直在随意的时刻得到它.在研究了这个之后,好像某个地方的一些elisp正在递归过深.是否有任何跟踪此问题的策略?就实际造成这种情况而言,我完全不知所措.
我得到了一些错误,表明使用ropemacs进行无限递归(但这些通常是Python错误).用ropemacs可能会错误配置某些东西吗?
更新:有趣的是,我发现如果我为"speedbar"执行"Ch a"而不是"rope-",我总是会收到此错误.
要跟踪问题,您可以尝试这样做:
(setq max-specpdl-size 5) ; default is 1000, reduce the backtrace level (setq debug-on-error t) ; now you should get a backtrace C-h a ; in speedbar
您应该对错误进行回溯,此时,您可以追踪违规例程.
我还尝试加载emacs w/out your configuration file(emacs -q
),看你的.emacs中是否存在影响事物的东西.(我没有使用无限循环C-h a
).如果它是你的.emacs,那么我发现跟踪它的最好方法是二进制搜索((error "frog")
在你的.emacs中间放一个错误或者某些东西,加载,测试,如果没有问题,把错误放在3/4,否则为1/4,重复...),或逐行手动评估.emacs(逐个区域),在每个部分后进行测试.那些设置应该有所帮助