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() и доступ к справке, когда несколько пакетов загружают одну и ту же функцию

Другие вопросы по тегам