emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] [babel] Re: org-babel-R and windows ?


From: Dan Davison
Subject: Re: [Orgmode] [babel] Re: org-babel-R and windows ?
Date: Thu, 14 Jan 2010 12:39:05 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Sébastien Vauban <address@hidden> writes:

> Hi Dan,
>
> Dan Davison wrote:
>> "d.tchin" <address@hidden> writes:
>>> Dan Davison <davison <at> stats.ox.ac.uk> writes:
>>>> The org-babel default is to invoke R as an external shell command, and I
>>>> think this is what is causing the problem. It requires that the emacs
>>>> function shell-command can use the string "R" to invoke an R process, i.e.
>>>> the R installation and the shell path must be such that this is the case.
>>>
>>> Thank you for the information and explanation. It seems that the problem
>>> comes from the windows shell.
>>>
>>> I try the following :  I explicitely told emacs to use bash
>>> with the following instructions :
>>> (setq explicit-shell-file-name "C:/msys/1.0/bin/bash.exe")
>>> (setq shell-file-name explicit-shell-file-name)
>>>
>>> It works with bash.
>>
>> Thanks for that, I've stored your solution in the org-babel development repo
>> with a view to modifying our code so that these probloems are minimised in
>> the future, and we'll also make sure the documentation addresses this.
>
> I'm a Windows user *and* an Ubuntu user for years, now, with one single common
> `.emacs' file for both OS.
>
> Therefore, I'll show you what I have in my `.emacs':
>
> ;;*** ----[ 41.1 Single Shell
>
> ;; for single shell commands
> (setq shell-file-name "bash")  ;; must be in the `PATH' (Windows users)
>
>
> ;;*** ----[ 41.2 Interactive Shell
>
> ;; for the interactive (sub)shell
> (setq explicit-shell-file-name shell-file-name)
>
> Almost the same, except the order (not important) and the fact that bash is
> written in its simplest form: no hard-coded path, and no `.exe' suffix, so
> that it works for both Win32 and Linux.
>
> The only thing to do, for Windows users, is ensure that `bash.exe' (generally
> located in `C:\cygwin\bin') is in the Windows PATH environment variable.
>
> I would advice keeping such a construct, instead of full paths.

Thanks Seb,

That's really helpful. I'm really ignorant about this Windows stuff. So
let me get the basics straight: is it the case that, if a user does
*not* have a UNIX emulation environment installed under Windows
(e.g. cygwin, msys, mingw?) then there is no way that org-babel external
shell evaluation is going to work? Or does that statement need to be
qualified according to language (R, shell, ruby, ...)? I.e., when a
Windows user just has emacs and the native windows/dos shell, are these
things just not going to work?

Dan

>
> Best regards,
>   Seb




reply via email to

[Prev in Thread] Current Thread [Next in Thread]