[R-SIG-Mac] RSwitch - making it easier to test pre-release versions of R

Simon Urbanek simon.urbanek at r-project.org
Wed Sep 13 22:37:06 CEST 2006

On Sep 13, 2006, at 11:25 AM, stefano iacus wrote:

> We discussed this in the past and now you remind me the point with  
> the announcement of this nice utility.
> I know it can be for this release (I'm just writing it here as a  
> memo) but this might be considered as a feature request:
> it would be nice to include RSwitch inside R.app with a panel  
> showing which versions of the Framework are compatible with the  
> particular version of R.app currently running (probably not too  
> much variability though).

Technically, none. A R.app is always linked to a specific version of  
the framework, so it won't work with any other version. In practice,  
it might if the R API didn't change too much, but that is not  
guaranteed. (Framework version = X.Y part of the X.Y.Z R version, so  
patch releases are compatible, but they are installed in the same  
location, so you cannot have multiple patch-revisions of R in  
Versions unless you do that manually).

Actually, for R 2.4 and higher started through the R.app GUI, it's  
not really an issue, because the GUI now automatically sets version- 
specific R_HOME, so you can have two R.apps - one to start R 2.4 and  
one to start R 2.5 and they both ignore the currently set version  
(and can run in parallel). The "Current" symlink applies mainly to R  
started from the command line and pre-2.4 versions of R.

> The selected version would be used at next start of R.app (like  
> when you choose OS X system disk for next boot) and of course a  
> "restart now" button would be nice as well.

The only way (I can think of) to provide a solution would be to put  
the actual R.app binary inside the R framework and let the user- 
visible R.app be just a wrapper that launches the correct R.app from  
a framework. However, this doesn't sound quite right, because it  
would involve two R.apps launching each other and what the user sees  
is not what s/he gets ....

> The restart button is something I really miss in daily use,  
> independently from the above feature request.

That is not trivial (short of writing a wrapper), because R  
termination is handled by libR itself and not the R.app. We may want  
to dig into that, though, because currently q("yes") will close R.app  
without saving any open editor windows, because R.app doesn't even  
get the message that R is closing, so it doesn't have the chance to  
save anything - and we should definitely fix that ...


> On 14/set/06, at 00:04, Simon Urbanek wrote:
>> In case you didn't know it is possible to have multiple R versions
>> installed on your Mac. The R framework uses a versioning system that
>> can keep multiple R versions in parallel at /Library/Frameworks/
>> R.framework/Versions
>> You can change the current version by setting the "Current" symlink
>> there. For those as lazy as me there is now a small GUI tool now
>> available at
>> http://r.research.att.com/
>> (on the bottom) which I call RSwitch and it allows you to change the
>> current R version in one click. Since we are getting close to the
>> beta stage of the next release, the best use of it is once you
>> install the current alpha/beta version of R to switch between the  
>> pre-
>> release and your old R version as necessary.
>> Note: even if you switch the current R version, you will still need
>> to use the corresponding version of the GUI as well, otherwise
>> strange things will happen. Switching versions while R is running can
>> also have undesirable effects if you try to load packages after the
>> change as they will be loaded from the wrong version of R, so use
>> with care.
>> Cheers,
>> Simon
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac

More information about the R-SIG-Mac mailing list