emacs ess падает при попытке доступа к h_elp
Мой сеанс emacs/ess падает, когда я пытаюсь получить доступ к справке. Это происходит, если у меня два пакета загружены с одинаковыми функциями; например:
library(lubridate)
library(data.table)
?month
В Rgui выскакивает интерфейс и просит выбрать, из каких пакетов мне нужна помощь. Emacs просто падает. Аналогичные проблемы возникают с install.packages, но есть способ указать зеркало. Есть ли способ установить пакеты R с помощью emacs? Есть ли похожий трюк с помощью?
2 ответа
Что ж, пока нет полного доказательства, так как никто не понимает, почему происходят эти сбои. Я полагаю, вы на окнах, верно?
В ESS есть планы полностью усвоить все справочные (и другие) вызовы, чтобы не зависеть от диалогов R. Надеюсь, в следующей версии.
На время положите это в ваш.Rprofile
tis <- utils:::index.search
formals(tis)[["firstOnly"]] <- TRUE
assignInNamespace("index.search", tis, "utils")
В основном это помогает системе помощи выбрать первый пакет с найденной темой. В вашем случае страница справки за месяц в пакете data.table будет игнорироваться. Ничего страшного, так как общие названия тем в любом случае довольно редки.
Я обнаружил, что запуск библиотеки (tcltk) решает эту проблему. Меню появляется даже после вызова из emacs+ess. Я добавил библиотеку (tcltk) на свой Rprofile.site, и теперь все работает отлично, install.packages() и доступ к справке, когда несколько пакетов загружают одну и ту же функцию