In my .bashrc, I have a line:
export SETTINGS=/home/user/settings.xml
If I load R in bash, I can access this variable using the Sys.getenv
function:
Sys.getenv("SETTINGS") "/home/user/settings.xml"
If I open R in Emacs (Mx R), SETTINGS is empty:
Sys.getenv("SETTINGS") ""
What I tried:
adding the following to .emacs based How do I get Emacs to recognize bash environment variables for compilation?
;; get environment vars from .bashrc (let ((path (shell-command-to-string ". ~/.bashrc; echo -n $SETTINGS"))) (setenv "SETTINGS" path))
opening bash in emacs using Mx term
echo $SETTINGS
If I open emacs from the terminal, the SETTINGS variable will be available as expected. Opening emacs from the Applications menu (using the command /usr/bin/emacs23 %F
or emacs
) does not work.
comparing the output of session("env")
when loading R in bash vs emacs, but nothing stands out except (bash = <, emacs =>):
> INSIDE_EMACS=23.3.1,comint 6d5 < SETTINGS=/home/user/settings.xml 9c8 < SHLVL=1 > SHLVL=0 14a14 > PAGER=cat 16d15 < PAGER=/usr/bin/pager 19d17 < COLORTERM=gnome-terminal 25c23 < WINDOWID=14680069 > DESKTOP_AUTOSTART_ID=1020ce948b944a88113395253627645060000001863000 < TERM=xterm > TERM=dumb
Can i either
- Access settings from R to emacs-ess
- export SETTINGS anywhere that I can access?
source share