The following section details those steps necessary to get ESS running on your system.
We now discuss installation, which might happen under Unix or Microsoft Windows. First, we discuss Unix installation. See section Unix installation.
For Microsoft Windows Installation please skip to the See section Microsoft Windows installation.
gunzip ess-VERSION.tar.gz tar xvf ess-VERSION.tar
(or:Thegunzip < ess-VERSION.tar.gz | tar xvf -
). (or using GNU tar:tar zxvf ess-VERSION.tar.gz
).
tar
command will create the subdirectory ess-VERSION and unarchive
the files there.
If you are using GNU Emacs 19.29, decompress/unarchive
`ESSDIR/ess-VERSION/lisp/19.29.tar.gz',
read `ESSDIR/ess-VERSION/lisp/19.29/README', follow the instructions
and you might be able to get ESS to work.
Please note that GNU Emacs 19.29 is no longer supported.
For a list of supported versions of emacs, see See section Requirements.
(load "ESSDIR/ess-VERSION/lisp/ess-site")to your user or system installation file (GNU Emacs uses `$HOME/.emacs' and XEmacs uses `$HOME/.xemacs/init.el' for the user initialization file. GNU Emacs uses default.el or site-init.el and XEmacs uses site-start.el for the system installation file). Alternatively, if ess-site.el is in your current Lisp path, you can do:
(require 'ess-site)to configure emacs for ESS.
C-x d
to the
directory containing ESS. Now:
M-x S+6get running. once you have reached the SPLUS prompt, do:
M-x ess-create-object-name-db(this will create the file `ess-s+6-namedb.el'; if it isn't in the ESS directory, move it there). Then, completions will be autoloaded and will not be regenerated for every session. For R, do the same, using
M-x Rand then
M-x ess-create-object-name-db
creating
`ess-r-namedb.el'; if it isn't in the ESS directory, move it there).
make allIf this works, then you might try:
make installThis will install the info files (and the lisp files, if they are to go in another directory). Don't forget to edit the file `dir' in the info directory specified by
INFODIR
in `doc/Makefile'. See
the sample `dir' file for an example of the line to add.
If you are using XEmacs, you might do:
make EMACS=xemacs alland then
make EMACS=xemacs installinstead of editing the Makefile. Note that you might need to use GNU make for everything to work properly An alternative, if you are running XEmacs and have access to the XEmacs system directories, would be to place the directory in the site-lisp directory, and simply type
make all
(and copy the
documentation as appropriate).
For GNU Emacs, you would still have to move the files into the top level
site-lisp directory.
For Microsoft Windows installation, please follow the next steps: (see separate instructions above for UNIX See section Unix installation.
cd c:\emacsExtract the files from the distribution, which will unpack into a subdirectory, `ess-VERSION'.
gunzip ess-VERSION.tar.gz tar xvf ess-VERSION.tar (or:Thegunzip < ess-VERSION.tar.gz | tar xvf -
). (or: from the zip file:unzip ess-VERSION.zip
)
tar
command will extract files into the current directory.
Do not create `ess-VERSION' yourself, or you will get an extra level
of depth to your directory structure.
path=%PATH%;c:\progra~1\spls2000\cmdOn Windows NT/2000, add the directories to the PATH using the MyComputer menu. Note that the directory containing the program is added to the PATH, not the program itself. One such line is needed for each software program. Be sure to use the abbreviation
progra~1
and not the long version with embedded blanks. Use
backslashes "\".
(load "/PATH/ess-site")to your .emacs (or _emacs) file (or default.el or site-init.el, for a site-wide installation). Replace
/PATH
above with the
value of ess-lisp-directory as defined in `ess-site.el'. Use
forwardslashes /
.
(GNU Emacs uses the filename `%HOME%/.emacs' and
XEmacs uses the filename `%HOME%/.xemacs/init.el'
for the initialization file.)
M-x S+6
(or M-x S
).
You will then be
asked for a pathname ("S starting data directory?"), from which to
start the process. The prompt will propose your current directory
as the default. Similarly for S-PLUS 6.x. Send lines or regions
from the emacs buffer containing your S program (for example,
`myfile.s') to the S-Plus Commands Window with the
C-c C-n
or C-c C-r
keys.
Run S-PLUS 6.x or 2000 inside an emacs buffer
M-x Sqpe+6You will then be asked for a pathname ("S starting data directory?"), from which to start the process. The prompt will propose your current directory as the default. Similarly for S-PLUS 6.x. Send lines or regions from the emacs buffer containing your S program (for example, `myfile.s') to the *S+6* buffer with the
C-c C-n
or C-c C-r
keys. You do not have access to
interactive graphics in
this mode. You get Unix-like behavior, in particular the entire
transcript is available for emacs-style search commands.
If you wish to run R, you can start it with:
M-x RXLispStat can not currently be run with
M-x XLSHopefully, this will change. However, you can still edit with emacs, and cut and paste the results into the XLispStat *Listener* Window under Microsoft Windows. SAS for Windows uses the batch access with function keys that is described in `doc/README.SAS'. The user can also edit SAS files in an
ESS[SAS]
buffer and than manually copy and paste them into
an Editor window in the SAS Display Manager.
For Windows, inferior SAS in an iESS[SAS]
buffer does not work
on the local machine. It does work over a network connection to
SAS running on a remote Unix computer.
Reason: we use ddeclient to interface with programs and SAS doesn't
provide the corresponding ddeserver capability.
C-x d
to
the directory containing ESS. Now:
M-x Sqpe+6(get running. once you have reached the SPLUS prompt, do:)
M-x ess-create-object-name-db(this will create the file `ess-s+6-namedb.el'; if it isn't in the ESS directory, move it there). Then, completions will be autoloaded and will not be regenerated for every session. For R, do the same, using
M-x Rand then
M-x ess-create-object-name-db
creating
`ess-r-namedb.el'; if it isn't in the ESS directory, move it
there).
ESS works best with either GNU Emacs version 20.3 or higher, or XEmacs version 20.0 or higher. It has been most thoroughly tested with:
on the following platforms
with the following versions of emacs
If you run the S program (from the shell) with a command other than
`Splus' you will need to set the variable
inferior-ess-program
to the name of the appropriate program by including a line such as
(setq inferior-ess-program "S+")
in your `.emacs' file (substituting `S+' for the name of your S program.)
If you need to call this program with any arguments, the variable you
need to set is dependent on the value of inferior-ess-program
; for
example if it is "Splus"
, set the variable
inferior-Splus-args
to a string of arguments to the Splus
program. If
inferior-ess-program
has some other value, substitute the
Splus
part of inferior-Splus-args
with the appropriate
program name. There aren't many instances where you need to call S
with arguments, however: in particular do not call the S program
with the `-e' command-line editor argument since ESS provides this
feature for you.
If you are running Splus (the enhanced version of S from Statsci) you
may also need to set the variable S-plus
to t
. If your
value of inferior-ess-program
is "S+"
or Splus
this
will not be necessary, however; S-plus
defaults to t
in
this case.
Finally, if you use a non-standard prompt within S, you will need to set the
variable inferior-ess-prompt
to a regular expression which will match both the primary prompt ("> "
by default) and the continuing prompt (default of "+ "
.) The
default value of this variable matches S's default prompts. For example,
if you use ("$ "
) as your primary prompt (you have
options(prompt="$ ")
in your .First
function), add the
following line to your `.emacs':
(setq inferior-ess-prompt "^\\(\\+\\|[^\\$]*\\$\\) *")
You will also need to set the variable inferior-ess-primary-prompt
to a regular expression which matches the primary prompt only. Do not
anchor the regexp to the beginning of the line with `^'. Once
again, the default value matches S's default prompt; in the example
above the appropriate value would be "[^\\$]*\\$ *"
.
Once these variables are set appropriately, ESS should work on any system.
Go to the first, previous, next, last section, table of contents.