Re: Réf. : [ESS] Running multiple S+ versions

Richard M. Heiberger rmh at
Wed Mar 2 21:27:23 CET 2005

Tim's function works for Windows, but I don't recommend it because it
has many unintended side effects.

Much better is to use the feature for calling alternate versions of
S-Plus that has been in ESS for about 6 months.  With the current ESS
5.2.5, open a tmp.s file, then click on the menu line ESS/Start
Process/Other/splusxxx.  An Sqpe for that version will be started in
an emacs buffer.

The automatically generated function does not change the default
values.  It just calls the requested version of S-Plus.  The next call
of M-x S or M-x Sqpe will revert to the same version that they had
previously called.

All versions of S-Plus known to the ess-SHOME-versions variable will
be in that menu.  We initialized ess-SHOME-versions to the default
installation locations for recent releases of S-Plus.  The default
path to splus70 is already in the not yet released ESS 5.2.6.  A
prerelease of ESS 5.2.6 is available from the svn archive.  To include
S-Plus 7 in the menu for earlier versions of ESS, open the
customization for the variable ess-SHOME-versions and edit it to
include the path to splus70.  If your S-Plus is installed in a
location other than the Insightful-recommended default location, you
will also need to customize the ess-SHOME-version variable.

I can add a similar feature for the Unix version of S-Plus.  I haven't
done so since I don't have access to a Unix S-Plus.

The side effects in Tim's function are

1. It changes the default values of the Sqpe variables, but not the
GUI variables.  This means that after running the function, M-x Sqpe
will always call splus70, but M-x S will still call splus62.

2. It (a) changes the default values of the variables and (b) also
calls S-Plus.  I think those should be two distinct events.

3. If you intend to switch versions of S-Plus, there are three
variables that need to be changed, not just the two variables that
Tim's function uses.

I added the following splus70.el emacs file to my site-lisp directory.
Load this file to make a permanent switch to the version of
S-Plus called by M-x S+6 and M-x Sqpe+6.

;; splus70.el
;; change variable names to make S-Plus 7.0 the default for M-x S+6 and M-x Sqpe+6
(setq-default inferior-S+6-program-name "c:/progra~1/Insightful/splus70/cmd/Splus")
(setq-default inferior-Sqpe+6-SHOME-name "c:/progra~1/Insightful/splus70")
(setq-default inferior-Sqpe+6-program-name "c:/progra~1/Insightful/splus70/cmd/Sqpe.exe")

More information about the ESS-help mailing list