[ESS] Emacs finding "R" on Windows {was "Release of ESS 5.3.5"}

James W. MacDonald jmacdon at med.umich.edu
Fri Aug 24 16:07:31 CEST 2007



Phillip Lord wrote:
>>>>>> "MM" == Martin Maechler <maechler at stat.math.ethz.ch> writes:
>  
>   PL> Ah. I didn't know that windows internationalised that.
> 
>   MM> {{ AFAIK they've even internationalized the function names in
>   MM>    Excel/Vbasic ...  the Horror-Land ... }}
> 
> Eech. 
> 
>   PL> For me (getenv "ProgramFiles") returns the right location though. So
> 
>   PL> (directory-files (concat (getenv "ProgramFiles") "\\R"))
> 
> 
>   PL> Failing that
> 
>   PL> (executable-find "R.exe")
> 
>   PL> which is...
> 
>   PL> "c:/Program Files/R/R-2.5.1/bin/R.exe"
> 
>   PL> will work iff R is in the path.
> 
>   MM> (which it is not, I think, after a default installation of R on windows)
> 
> Sure. The ESS documentation says to put it in the path I think. Personally, I
> would prefer to not have to do this; system path fiddling in a pain in the ass
> and has to be done for each machine. 
> 
> 
>   PL> After that,
> 
>   PL> HKEY_LOCAL_MACHINE\Software\R-core\R\Current Version
> 
>   PL> gives the current version
> 
> 
>   PL> HKEY_LOCAL_MACHINE\Software\R-core\R\[version]\InstallPath
> 
>   PL> gives it's location. w32-regdat gives access to these values, although
>   PL> this also requires an external executable.
> 
>   MM> Hmm, on the GNU emacs 22.1 (on Windows Server 2003) which I've got from
>   MM> Vincent's, I don't seem to get anything from
>   MM>    w32-regdat (variable)
>   MM> or w32-regdat (function).
> 
>   MM> and the "emacs-official" w32-fns.el file full of Windows (NT) support
>   MM> functions does not contain the string "regis" which would mean it has no
>   MM> official e-lisp support for accessing the registry ?
> 
> 
> Ah, sorry for being opaque. w32-regdat is part of EmacsW32 which is a nicely
> prepackaged Emacs for windows. They've written some lisp to make the whole
> process work nicely. 
> 
> http://www.ourcomments.org/Emacs/EmacsW32Util.html
> 
> I don't know how widely used this is among the ESS or Emacs on Windows
> community in general. 
> 
> 
>   PL> If I get the time, I'll try and write some lisp to get this to work.
> 
>   MM> That would be quite useful for the community, thank you in advance!
> 
> Well, just as a start, this returns the latest R version if you are using
> EmacsW32 and have not told R not to modify the registry. It would be
> interesting to run a straw poll; if people eval-region and see how many get
> the correct answer. 
> 
> (defun ess-find-latest-r ()
>   (or
>    (and
>     ;; is w32 available.
>     (require 'w32-regdat nil t)
>     ;; yes, so use this to find the latest version
>     (ess-find-exists-p
>      (concat
>       (car 
>        (w32-reg-iface-read-value
>         (concat 
>          "HKEY_LOCAL_MACHINE\\Software\\R-core\\R\\"
>          (car 
>           (w32-reg-iface-read-value 
>            "HKEY_LOCAL_MACHINE\\Software\\R-core\\R\\Current Version")  )
>          "\\InstallPath")))
>       "\\bin\\R.exe")))))
> 
> (defun ess-find-exists-p(file)
>   (and (file-exists-p file)
>        (file-readable-p file)
>        file))
> 
>  
> (message "Latest R version %s" (ess-find-latest-r))

I get

Latest R version nil

on

GNU Emacs 22.1.50.1 (i386-mingw-nt5.1.2600) of 2007-07-07 on NEUTRINO

this is the emacs/auxtex bundle made available here

http://www.gnu.org/software/auctex/download-for-windows.html

I have R-2.5.1 and R-2.6.0dev both installed in the root directory 
(e.g., C:/R-2.5.1)

Best,

Jim


> 
> Phil
> 
> ______________________________________________
> ESS-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/ess-help

-- 
James W. MacDonald, M.S.
Biostatistician
Affymetrix and cDNA Microarray Core
University of Michigan Cancer Center
1500 E. Medical Center Drive
7410 CCGC
Ann Arbor MI 48109
734-647-5623




More information about the ESS-help mailing list