Emacs + R: слишком длинное имя буфера */usr/local/bin/R* для буферов R

Я работаю с Emacs 24 (Emacs-pretest-24.0.91-universal-10.6.7 из http://emacsformacosx.com/builds) в Mac OS X 10.7.3 с R 2.15. Когда я открываю новый буфер R, имя буфера — */usr/local/bin/R*. Для всех других буферов я получаю разумное имя файла, но для буферов R имя файла всегда содержит этот путь. Это довольно раздражает, если у вас открыто несколько буферов R и вы отображаете меню буфера (например). Затем вы видите множество буферов, отображаемых как */usr/local/..., и не видите, какой из буферов соответствует какому процессу R.

Это проблема Mac или только моя настройка?

Единственное, что я могу себе представить в качестве причины этого, это следующее. Чтобы вызвать R из консоли (как из Emacs), я определил символическую ссылку в /usr/local/bin, указывающую на правильный путь, где установлена ​​R. Эту ссылку я назвал "R".

cd /usr/local/bin
sudo ln -s /Library/Frameworks/R.framework/Resources/bin/R R

Я мог представить, что имя буфера emacs определяется по ссылке /usr/lcoal/bin/R, но я не знаю, как это исправить, так как без ссылки я не могу запустить R. В Ubuntu я просто вижу имя буфера R (или R[2 ],... и т. д.), было бы здорово иметь то же самое на Mac OS.

Обновить

inferior-R-program-name is a variable defined in `ess-custom.el'.
Its value is "/usr/local/bin/R"
Original value was "R"

ess-dialect is a variable defined in `ess-custom.el'.
Its value is "R"
Local in buffer */usr/local/bin/R*; global value is "R"
Automatically becomes buffer-local when set in any fashion.

ess-use-inferior-program-name-in-buffer-name is a variable defined in `ess-custom.el'.
Its value is t
Original value was nil

person Marius Hofert    schedule 07.04.2012    source источник
comment
Каково значение inferior-R-program-name, ess-dialect и ess-use-inferior-program-name-in-buffer-name? (Вы можете узнать с помощью C-h v и введя имя переменной)   -  person Ernest A    schedule 07.04.2012
comment
Спасибо за помощь, Эрнест. Добавил информацию выше. Думаю, inferior-R-program-name выглядит подозрительно.   -  person Marius Hofert    schedule 07.04.2012
comment
Я думаю, у вас есть два варианта: либо установить inferior-R-program-name на "R" (и убедиться, что /usr/local/bin есть в вашем $PATH), либо установить ess-use-inferior-program-name-in-buffer-name на nil.   -  person Ernest A    schedule 07.04.2012
comment
Большое спасибо, Эрнест, установка (setq-default inferior-R-program-name "R") в .emacs прекрасно решила эту проблему!   -  person Marius Hofert    schedule 07.04.2012


Ответы (1)


У вас есть два варианта: либо установить inferior-R-program-name на "R" (и убедиться, что /usr/local/bin находится в вашем $PATH), либо установить ess-use-inferior-program-name-in-buffer-name на nil, что установит имя буфера на значение ess-dialect.

person Ernest A    schedule 07.04.2012