Emacs:嵌套超过`max-lisp-eval-depth' [英] Emacs: nesting exceeds `max-lisp-eval-depth'

查看:333
本文介绍了Emacs:嵌套超过`max-lisp-eval-depth'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




  • 这是什么?意思是?

  • 当我得到一个,除了killall emacs之外,还有什么可以做的吗?



编辑:



如果您评估,您可以得到错误:

 code>(defun func()
(func))
(func)

但是,在这种情况下,emacs仍然保持响应。

解决方案

立即补救可以简单地增加最大值。它的默认值为500,但您可以将其设置为,例如:10000,如下所示:

 (setq max-lisp-eval -depth 10000)

但这通常不是一个好主意,因为你碰到一个嵌套超过'max-lisp-eval-depth'错误首先是一个迹象,表明你的代码的一部分占用了太多的堆栈空间。但是,至少暂时增加最大值可以帮助您分析问题,而不会一遍又一遍地收到相同的错误消息。


From time to time I get a "nesting exceeds `max-lisp-eval-depth'" error.

  • What does it mean?
  • When I get one, is there something I can do, other than "killall emacs"?

Edit:

You can get the error if you evaluate:

(defun func ()
  (func))
(func)

However, in this case emacs remains responsive.

解决方案

An immediate remedy can be to simply increase the maximum. Its default value is 500, but you could set it to, say, 10000 like this:

(setq max-lisp-eval-depth 10000)

But that's generally not a great idea, because the fact that you run into a nesting exceeds `max-lisp-eval-depth' error in the first place is a sign that some part of your code is taking up too much stack space. But at least increasing the maximum temporarily can help you analyze the problem without getting the same error message over and over again.

这篇关于Emacs:嵌套超过`max-lisp-eval-depth'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆