当尝试访问帮助时,Emacs ESS崩溃了。

3

当我尝试访问帮助时,我的emacs/ess会崩溃。如果我加载了两个具有相同函数的包,就会发生这种情况,例如:

library(lubridate)
library(data.table)
?month

在Rgui界面中,会弹出一个窗口让我选择需要帮助的包。而Emacs会直接崩溃。当使用install.packages时也有类似的问题,但有一种方法可以指定镜像地址(在Emacs中安装R包有什么技巧吗?)。是否有类似的技巧可以用于帮助呢?

2个回答

4

目前还没有完全解决这些崩溃的方法,因为没有人真正理解这些崩溃发生的原因。我假设你正在使用Windows系统,对吗?

ESS计划完全内部化所有帮助(和其他)调用,以避免依赖于R对话框。希望在下一个版本中实现。

暂时将以下内容添加到您的.Rprofile文件中:

tis <- utils:::index.search
formals(tis)[["firstOnly"]] <- TRUE
assignInNamespace("index.search", tis, "utils")

它基本上使帮助系统选择找到的第一个主题包。在您的情况下,data.table包中的月份帮助页面将被忽略。这并不是什么大问题,因为常见的主题名称相当罕见。


3

我发现使用library(tcltk)可以解决这个问题。即使从emacs+ess调用,菜单也会出现。我将library(tcltk)添加到我的Rprofile.site中,现在一切都运行得很好,包括install.packages()和在多个包加载相同函数时访问帮助信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接