【问题标题】:ESS produces "Variable binding depth exceeds max-specpdl-size"ESS 产生“变量绑定深度超过 max-specpdl-size”
【发布时间】:2015-06-09 15:35:18
【问题描述】:

我正在尝试 ESS (Emacs Speaks Statistics)。

问题是:由于以下错误,任何缓冲区上的 Ctrl-P 和向上箭头被禁用:

变量绑定深度超过 max-specpdl-size

触发器是 .emacs.el 中的以下行

(require 'ess-site)

需要此行to load ESS。如果我删除这一行,那么问题就不会发生,但是,显然,我不能使用 ESS。

注意事项:

  • "(setq max-lisp-eval-depth 10000)" 不能解决问题。
  • "(setq max-specpdl-size 32000)" 产生不同的错误:

    Lisp 嵌套超过 `max-lisp-eval-depth'

  • 当上述两个设置有效时,我得到 max-lisp-eval-depth 的错误。

  • 此问题发生在在 M-x R RET 之前。例如,它发生在 emacs 启动后的 scratch 缓冲区上。
  • 我没有找到任何其他解决此问题的关键。 (例如,Ctrl-F 和向下箭头正在工作。)
  • 删除 ESS 缓冲区并不能解决问题。
  • ESS 缓冲区上的初始消息如下。 (不知道有没有用。)

    [ess-site.el]: ess-customize-alist=nil
    [ess-site.el 2]: ess-customize-alist=nil
    (S): ess-s-versions-create 为

    制作 M-x defuns

    (R): ess-r-versions-create 为

    制作 M-x defuns

环境:

  • emacs-ess-15.03.1-1.3.noarch
  • emacs-24.3-17.2.10.x86_64
  • R-base-3.1.1-2.1.9.x86_64
  • openSUSE 13.2 (Harlequin) (x86_64)

【问题讨论】:

    标签: r emacs ess


    【解决方案1】:

    你可以试试

    (setq max-specpdl-size 32000)
    

    M-x describe-variable max-specpdl-size 了解一些信息

    我在使用 python 模式和绳索时遇到过这个问题,但从来没有使用过 ESS。

    【讨论】:

    • 感谢您的信息。但不幸的是,我得到了一个不同的错误:Lisp 嵌套超出了 `max-lisp-eval-depth'。
    • 您是否尝试将两个变量都设置得更大?
    • 是的。 (setq max-specpdl-size 64000) 和 (setq max-lisp-eval-depth 64000) 杀死 emacs。
    • 它可能是您的.emacs 中的其他内容。您可以尝试在没有 .emacs 的情况下加载 emacs:emacs -q。然后使用C-j 在暂存缓冲区中评估(require 'ess-site)
    • 我不知道。听起来当您启动 emacs 时会发生一些无限递归。我会创建一个新文件.emacs,其中只有(require 'ess-site)。然后执行emacs -q -l .emacs 并尝试通过建立新的.emacs 来隔离问题。在文件“ess-site.el”(M-x locate-library ess-site) 中提到了靠近顶部的无限循环。
    【解决方案2】:

    解决方案:更改某些设置的顺序。

    我的 .emacs.el 有平滑滚动的设置 (A)

    (require 'smooth-scrolling)
    (setq smooth-scroll-margin 5)
    

    对于初始文件 (B)

    (find-file "~/init.org")
    

    (A) 应该在 (B) 之前加载。 (B) 在我之前的 .emacs.el 中在 (A) 之前加载,这会导致问题。 (我不知道我在问题中描述的错误的确切原因。)

    【讨论】:

    • 如果(B)中的加载文件是.emacs.el,那么问题就不会发生。所以也许在平滑滚动之前不应该加载 ogg 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 2020-08-11
    相关资源
    最近更新 更多