【问题标题】:ESS (Emacs): do not change window configuration under R debugging (tracebug)ESS(Emacs):R调试下不要更改窗口配置(tracebug)
【发布时间】:2021-03-20 18:58:11
【问题描述】:

我想阻止 ESS 更改我的窗口配置,但是当 ESS tracebug 处于活动状态时,进入调试会更改窗口配置。

假设emacs框架中有三个窗口:(1)一个定义函数的R文件; (2) 调用 (1) 中定义的函数的 R 脚本; (3):劣质Ress过程。如果从 (2) 我将代码发送到 R 解释器,默认情况下 (2) 将被 (1) 替换(显示要评估的行等)。显示 (3) 的窗口留在原来的位置;所以我们实际上将 (1) 中的缓冲区显示了两次(在 2 和 1)。

在这种配置下发​​生这种情况(以emacs -Q 启动emacs)

(package-initialize)
(use-package ess)

我还有一个额外的配置(本着“不要破坏我的窗口配置:我会告诉你在哪个窗口开始通过在那里发出M-x R”的精神):

(setq display-buffer-alist
      '(("*R" . (display-buffer-same-window)))
      )

使用此配置,在调试下,窗口 (2) 现在显示 R 会话(即,劣质 R 缓冲区显示在原始窗口位置 3,现在也显示在 2)。

下面的屏幕截图显示了这个问题。第一个屏幕截图,其中三个窗口如上所述(1、2、3,从上到下)。

在将函数评估为 R (C-c C-f) 之后立即进行的第二张屏幕截图(使用 display-buffer-same-window 的配置),然后从 (2) 中评估行 (C-c C-n)。

如果我禁用 tracebug,M-x ess-tracebug,则不会发生任何窗口更改,但我不想在包含代码的窗口(窗口 1)上执行后禁用。我想使用 tracebug 但要避免对我的窗口配置进行任何更改:只显示 (1) 和调试内容,但不理会 (2)。我该怎么做?

【问题讨论】:

    标签: r emacs ess


    【解决方案1】:

    没有答案,但我同意,我发现 ess 以随意的方式更改窗口配置,甚至在另一帧中复制缓冲区,这令人愤怒。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 2021-10-27
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多