ESS 5.2.3 is released.

Martin Maechler maechler at
Tue Sep 21 11:03:35 CEST 2004

Dear ESS users,
A few minutes ago, I've released ESS version 5.2.3.
This is primarily a bug fix release, notably for the toolbar ("R
is not clickable" problem) but addresses several others and also
contains documentation improvements against 5.2.2 (from Jul 8).

It's also the first release made from the subversion (instead of
CVS) repository and the new download area.  All these URLs have
been made current in the documentation (manual). 

For the ESS core team,
Martin Maechler.

Here is the official announcement, with all the necessary
details, see also 'New Features' further below :

--------------- ANNOUNCE ------------------------------


   The ESS Developers proudly announce the release of ESS


   Emacs Speaks Statistics (ESS) provides an intelligent, consistent
interface between the user and the software.  ESS interfaces with
S-PLUS, R, SAS, BUGS and other statistical analysis packages under the
Unix, Microsoft Windows, and Apple Mac OS operating systems.  ESS is a
package for the GNU Emacs and XEmacs text editors whose features ESS
uses to streamline the creation and use of statistical software.  ESS
knows the syntax and grammar of statistical analysis packages and
provides consistent display and editing features based on that
knowledge.  ESS assists in interactive and batch execution of
statements written in these statistical analysis languages.

   ESS is freely available under the GNU General Public License (GPL).
Please read the file COPYING which comes with the distribution, for
more information about the license. For more detailed information,
please read the README files that come with ESS.

Getting the Latest Version

   The latest version of ESS is always available on the web at: ESS web
page ( or StatLib

   The latest development version of ESS is available via
`', the ESS Subversion repository.  If
you have a Subversion client (see `'), you
can download the sources using:
     % svn checkout PATH

which will put the ESS files into directory PATH.  Later, within that
directory, `svn update' will bring that directory up to date.
Windows-based tools such as TortoiseSVN are also available for
downloading the files.  Alternatively, you can browse the sources with a
web browser at: ESS SVN site (
However, please use a subversion client instead to minimize the load
when retrieving.

   If you remove other versions of ESS from your emacs load-path, you
can then use the development version by adding the following to .emacs:

     (load "/path/to/ess-svn/lisp/ess-site.el")

   Note that https is required, and that the SSL certificate for the
Subversion server of the R project is

     Certificate information:
      - Hostname:
      - Valid: from Jul 16 08:10:01 2004 GMT until Jul 14 08:10:01 2014 GMT
      - Issuer: Department of Mathematics, ETH Zurich, Zurich, Switzerland, CH
      - Fingerprint: c9:5d:eb:f9:f2:56:d1:04:ba:44:61:f8:64:6b:d9:33:3f:93:6e:ad

(currently, there is no "trusted certificate").  You can accept this
certificate permanently and will not be asked about it anymore.

Current Features

   * Languages Supported:
        * S family (S 3/4, S-PLUS 3.x/4.x/5.x/6.x, and R)

        * SAS

        * BUGS

        * Stata

        * XLispStat including Arc and ViSta

   * Editing source code (S family, SAS, BUGS, XLispStat)
        * Syntactic indentation and highlighting of source code

        * Partial evaluation of code

        * Loading and error-checking of code

        * Source code revision maintenance

        * Batch execution (SAS, BUGS)

        * Use of imenu to provide links to appropriate functions

   * Interacting with the process (S family, SAS, XLispStat)
        * Command-line editing

        * Searchable Command history

        * Command-line completion of S family object names and file

        * Quick access to object lists and search lists

        * Transcript recording

        * Interface to the help system

   * Transcript manipulation (S family, XLispStat)
        * Recording and saving transcript files

        * Manipulating and editing saved transcripts

        * Re-evaluating commands from transcript files

   * Help File Editing (R)
        * Syntactic indentation and highlighting of source code.

        * Sending Examples to running ESS process.

        * Previewing


   ESS has been tested with

   * S-PLUS 3.3, 3.4, 4.5, 2000, 5.0, 5.1, 6.0, 6.1, 6.2

   * R >=0.49

   * S4

   * SAS >=6.12

   * BUGS 0.5, 0.603

   * Stata >=6.0

   * XLispStat >=3.50

   on the following platforms

   * Linux (all)

   * Solaris/SunOS (all)

   * Microsoft Windows 95/98/NT/2000/XP (SPLUS 4.5/2000/6.*, R, SAS and

   * Apple Mac OS (SAS for OS 9 and X11 R for OS X)

   with the following versions of emacs

   * GNU Emacs 20.3, 20.4, 20.5, 20.6, 20.7, 21.1, 21.3

   * XEmacs 21.0, 21.1.13-14, 21.4.0-8, 21.4.9-13/21.5.17(1),
     21.4.14-15; as of June 2004, ESS does not work with XEmacs Betas
     such as 21.5.17

   * GNU Emacs <20.3 and XEmacs <21.0(2)

   ---------- Footnotes ----------

   (1) requires the files.el patch to revert-buffer for the Local
Variables updating problem

   (2) These releases of emacs are no longer supported, so an upgrade
is recommended if you plan to use ESS.  If you have GNU Emacs 19.29,
see *Note Unix installation::.  Also, note that the `custom' library
bundled with Emacs 19.34 is too _old_, its API is incompatible with the
`new custom' bundled with recent Emacsen.  The `new custom' for Emacs
19.34 is available for download here


   Versions 5.2.x are meant to be release-quality versions.  While some
new features are being introduced, we are cleaning up and improving the
interface.  We know about some remaining documentation inconsistencies.
Patches or suggested fixes with bug reports are much appreciated!

Mailing List

   There is a mailing list for discussions and announcements relating to
ESS.  Join the list by sending an e-mail with "subscribe ess-help" (or
"help") in the body to <ess-help-request at>;
contributions to the list may be mailed to
<ess-help at>.  Rest assured, this is a fairly
low-volume mailing list.

   The purposes of the mailing list include

   *  helping users of ESS to get along with it.

   *  discussing aspects of using ESS on Emacs and XEmacs.

   *  suggestions for improvements.

   *  announcements of new releases of ESS.

   *  posting small patches to ESS.

Reporting Bugs

   Please send bug reports, suggestions etc. to

   <ESS-bugs at>

   The easiest way to do this is within Emacs by typing

   `M-x ess-submit-bug-report'

   This also gives the maintainers valuable information about your
installation which may help us to identify or even fix the bug.

   If Emacs reports an error, backtraces can help us debug the problem.
Type "M-x set-variable RET debug-on-error RET t RET".  Then run the
command that causes the error and you should see a *Backtrace* buffer
containing debug information; send us that buffer.

   Note that comments, suggestions, words of praise and large cash
donations are also more than welcome.


   * A.J. Rossini (mailto:rossini at

   * Richard M. Heiberger (mailto:rmh at

   * Kurt Hornik (mailto:hornik at

   * Martin Maechler (mailto:maechler at

   * Rodney A. Sparapani (mailto:rsparapa at

   * Stephen Eglen (mailto:stephen at


   ESS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later

   ESS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
in the file COPYING in the same directory as this file for more details.

New Features

   Changes/New Features in 5.2.3:
   * ESS: When new inferior ESS processes are created, by default they
     will replace the current buffer (this restores behavior from pre
     5.2.0). If you wish new ESS processes to start in another window
     of the current frame, set inferior-ess-same-window to nil.

   * New variables inferior-Splus-args and inferior-R-args provide a
     way to pass command line arguments to starting S and R processes.

   Changes/New Features in 5.2.2:
   * bug-fixes for 5.2.1 (require 'executable), html docs, etc.

   * ess-lisp-directory/../doc/info added to Info-directory-list if
     ess-info not found by info

   * ESS[R]: If you have other versions of R on your exec-path, such as
     "R-1.8.1" with Unix or "rw1081" with Windows, ESS will find them
     and create appropriate functions, such as M-x R-1.8.1 or M-x
     rw1081, for calling them.  By default only Unix programs beginning
     "R-1" and "R-2" and Windows programs parallel to the version of R
     in your exec-path will be found, but see ess-r-versions and
     ess-rterm-versions for ways to find other versions of R.

   * ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and
     "rw1081" on Windows, are added to the "ESS / Start Process /
     Other" menu.

   * ESS[S]: If you have other versions of S-Plus on your Windows
     computer, such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and
     create appropriate functions, such as M-x splus61, for calling the
     console version (Sqpe) inside an emacs buffer.  By default only
     programs installed in the default location will be found, but see
     ess-SHOME-versions for ways to find other versions of S-Plus.

   * ESS[S]: Other versions of Sqpe on Windows, such as "splus61", are
     added to the "ESS / Start Process / Other" menu.

   * ESS[R]: (bug fix) ess-quit (bound to C-c C-q) should now quit the
     inferior R process, when issued from either the inferior buffer,
     or from a .R buffer.

   Changes/New Features in 5.2.1:
   * ESS[S] (R and S-plus): now have toolbar support with icons to
     evaluate code in the inferior process or to switch there.  This
     code is experimental and likely to change as XEmacs/Emacs issues
     get resolved. The toolbar should be enabled if your Emacs displays
     images, but can be disabled with the variable ess-use-toolbar.
     Thanks to David Smith from Insightful for the S-plus logo.

   * ESS[SAS]: ess-sas-graph-view (F12) enhanced; you can specify
     external file viewers for each graphics file type via the alist
     ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled by
     image-mode on XEmacs, if available, otherwise by graphics
     primitives as before

   Changes/New Features in 5.2.0:
   * ESS[BUGS]:  new info documentation!  now supports interactive
     processing thanks to Aki Vehtari (mailto:Aki.Vehtari at; new
     architecture-independent unix support as well as support for BUGS
     v. 0.5

   * ESS[SAS]:  convert .log to .sas with ess-sas-transcript; info
     documentation improved; Local Variable bug fixes; SAS/IML
     statements/functions now highlighted; files edited remotely by
     ange-ftp/EFS/tramp are recognized and pressing SUBMIT opens a
     buffer on the remote host via the local variable
     ess-sas-shell-buffer-remote-init which defaults to "ssh"; changed
     the definition of the variable ess-sas-edit-keys-toggle to boolean
     rather than 0/1; added the function ess-electric-run-semicolon
     which automatically reverse indents lines containing only "run;";
     C-F1 creates MS RTF portrait from the current buffer; C-F2 creates
     MS RTF landscape from the current buffer; C-F9 opens a SAS DATASET
     with PROC INSIGHT rather than PROC FSVIEW; C-F10 kills all buffers
     associated with .sas program; "inferior" aliases for SAS batch:
     C-c C-r for submit region, C-c C-b for submit buffer, C-c C-x for
     goto .log; C-c C-y for goto .lst

   * ESS[S]: Pressing underscore ("_") once inserts " <- " (as before);
     pressing underscore twice inserts a literal underscore.  To stop
     this smart behaviour, add "(ess-smart-underscore nil)" to your
     .emacs after ess-site has been loaded;
     ess-dump-filename-template-proto (new name!) now can be customized
     successfully (for S language dialects); Support for Imenu has been
     improved; set ess-imenu-use-S to non-nil to get an "Imenu-S" item
     on your menubar; ess-help: Now using nice underlines (instead of
     `nuke-* ^H_')

   * ESS[R]:  After (require 'essa-r), M-x ess-r-var allows to load
     numbers from any Emacs buffer into an existing *R* process; M-x
     ess-rdired gives a "directory editor" of R objects; fixed
     ess-retr-lastvalue-command, i.e. .Last.value bug (thanks to David

   * ESS: Support for creating new window frames has been added to ESS.
     Inferior ESS processes can be created in dedicated frames by
     setting inferior-ess-own-frame to t.  ESS help buffers can also
     open in new frames; see the documentation for ess-help-own-frame
     for details.  (Thanks to Kevin Rodgers for contributing code.)

   Changes/New Features in 5.1.24:
   * The version number is now correct even inside ESS/Emacs

   Changes/New Features in 5.1.23:
   * Minor more Makefile clean up.

   Changes/New Features in 5.1.22:
   * Besides info documentation, PDF and HTML documentation are also
     provided (instead of built using "make") and available on the web
     as well; see ESS web page
     ( and StatLib

   * Now that info documentation is available, the README.* files are
     no longer supported.  However, they are still distributed for what
     it's worth.

   * ESS is now an XEmacs package!  See XEmacs Installation HOWTO
     ( for details
     (specifically, items 10-15).

   * ESS[SAS]: more user-friendly enhancements for remote SAS batch
     jobs with Kermit file transfers (LOG and OUTPUT function key
     features now supported).  Multiple shells now supported so you can
     run SAS on different computers from different buffers by setting
     the buffer-local variable ess-sas-shell-buffer to unique buffer

   * Major re-vamping of Makefile/Makeconf.

   Changes/New Features in 5.1.21:
   * ESS[SAS]: info documentation now available!, see ESS->Help for
     SAS; F12 opens GSASFILE nearest point for viewing either within
     emacs, when available, or via an external viewer; more syntax
     highlighting keywords; more enhancements for remote SAS batch jobs
     with Kermit; new framework for remote SAS interactive jobs, see

   * ESS[S]: info documentation now available!, see ESS->Help for the S

   * Makefile: tag now independent of rel; info files made by
     doc/Makefile and installed in new info sub-directory

   Changes/New Features in 5.1.20:
   * New `options()$STERM' in the S dialects (S, S-Plus, R).  The S
     program can determine the environment in which it is currently
     running.  ESS sets the option to `iESS' or `ddeESS' when it starts
     an S language process.  We recommend other specific values for S
     language processes that ESS does not start.

   * New `ess-mouse-me' function, assigned to S-mouse-3 by default.
     User may click on a word or region and then choose from the menu
     to display the item, or a summary, or a plot, etc.  This feature
     is still under development.

   * GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS),
     (some from Stephen Eglen).

   * XEmacs 21.x is now supported (fixed w32-using-nt bug)

   * XEmacs on Win (NT) is better supported.

   * Workaround for bug in Sqpe+6 (S-PLUS 6 for Win).

   * should now work even when imenu is not available (for old

   * ESS[SAS]: XEmacs-Imenu fix; C-TAB is globalized along with your
     function-key definitions, if specified; you can specify your SAS
     library definitions outside of for ess-sas-data-view
     with SAS code placed in the variable ess-sas-data-view-libname,
     also the dataset name is defaulted to the nearest permanent dataset
     to point; Speedbar support now works for permanent datasets, please
     ignore first./last.; new font-locking is now the default with more
     improvements for font-locking PROCs, macro statements, * ; and %* ;
     comments; you can toggle sas-log-mode with F10 which will font-lock
     your .log (if it isn't too big); submit remote .sas files accessed
     with ange-ftp, EFS or Tramp (Kermit is experimental) by setting
     ess-sas-submit-method to 'sh; ess-sas-submit-command and
     ess-sas-submit-command-options are buffer-local so you can have
     local file variable sections at the end of your .sas files to
     request different executables or specify special options and the
     local file variables are re-read at submit instead of only at file
     open so that if you make a change it is picked up immediately;

   * ESS[BUGS]: font-lock with `in' fixed.

   * for STATA: font-lock bug fixed.

   * for Rd mode: C-c C-v and `switch-process' in menu.  further, C-c
     C-f prefix (Rd-font) for inserting or surrounding a word by things
     such as \code{.}, \code{\link{.}}, \emph{.} etc.

   * new functions (ess-directory-function) and (ess-narrow-to-defun)
     ess-directory <-> default-directory logic (Jeff Mincy).

   * Re-organized Makefile and fixed a few bugs.

   Changes/New Features in 5.1.19:
   * S+6 now supported (Tony Rossini (Unix) and Rich Heiberger

   * New BUGS support through ESS[BUGS] mode (Rodney Sparapani)
     Templates assist you in writing .bug and .cmd code (.cmd and .log
     are replaced by .bmd and .bog to avoid emacs extension collisions).
     Substitution" parameters facilitate "automagic" generation of" and "" filenames, "const N=" from your data
     file and "monitor()/stats()" commands.  Activated by pressing F12.

   * Fixes for `ess-smart-underscore' SAS breakage (Rich Heiberger)

   * You can change between PC and Unix, local and global SAS
     function-key definitions interactively (Rich Heiberger)

   * C-Submit a highlighted region to SAS batch (Rodney Sparapani)

   * New and improved SAS syntax highlighting (Rodney Sparapani) To get
     the new functionality, set ess-sas-run-make-regexp to nil.  Also
     available in .log files via F10.

   * Open a permanent SAS dataset for viewing via F9 (Rodney Sparapani)
     You must have the library defined in for it to work.

   * User-friendly defaults for `sas-program',
     `ess-sas-batch-pre-command' and `ess-sas-batch-post-command' as
     well Customize support for these and other ESS[SAS] variables
     (Rodney Sparapani)

   * `ess-sas-suffix-2' now defaults to .dat via F11 (Rodney Sparapani)

   * Emacs/XEmacs, Unix/Windows issues collectively handled in

   * defadvice solves problem of missing *ESS* (thanks to Jeff Mincy)

   * Improved manual a bit by including things that were only in

   Changes/New Features in 5.1.18:
   * New `ess-smart-underscore' function, now assigned to "_" by
     default.  Inserts `ess-S-assign' (customizable " <- "), unless
     inside string and comments where plain "_" is used instead. (MM)

   * Fixes for longstanding interactive SAS breakage (RMH)

   Changes/New Features in 5.1.17:
   * Documentation for Windows Installation (Rich Heiberger)

   * removal of ess-vars, finalization of customize support (in the
     sense that there is no more use of ess-vars, but that we need to
     fix ess-cust) (AJ Rossini)

   * Many small (and large) fixes/contributions (MMaechler)

   * addition of the "S-equal" variable and provide M-x ess-add-MM-keys
     a way to remap "_" to `ess-S-assign', typically " <- ", but
     customizable. (MMaechler)

   Changes/New Features in 5.1.16:

   * Better SAS support

   Changes/New Features in 5.1.15:

   Changes/New Features in 5.1.14:
   * Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani)

   * Customize support (for most Emacsen which support it) (AJRossini)

   * ARC and ViSta support out of the box, and fixes for XLispStat

   Changes/New Features in 5.1.13:
   * Version numbering finally all depending on the ./VERSION file,
     thanks to Martin Maechler.

   * Yet more fixes to SAS mode, thanks to Rich Heiberger.

   Changes/New Features in 5.1.12:
   * Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables,
     Chuck Taylor, and others.

   * More fixes to SAS mode, thanks to Rodney Sparapani and Rich

   Changes/New Features in 5.1.11:
   * More fixes to Stata mode, thanks to Brendan Halpin
     (mailto:brendan at

   * fixed bugs in ESS-elsewhere, thanks to many testers

   * README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks
     to David Brahm (mailto:brahm at

   * Fixes to SAS mode, thanks to Rodney Sparapani

   Changes/New Features in 5.1.10:
   * More fixes to Stata mode

   * primitive generic version of ESS-elsewhere

   * Small fixes to SAS/Stata.

   Changes/New Features in 5.1.9:
   * Stata mode works

   * Literate Data Analysis using Noweb works

   Changes/New Features in 5.1.8:
   * Bug fixes

   * R documentation mode defaults changed

   Changes/New Features in 5.1.2:
   * able to use inferior iESS mode to communicate directly with a
     running S-Plus 4.x process using the Microsoft DDE protocol.  We
     use the familiar (from Unix ESS) C-c C-n and related key sequences
     to send lines from the S-mode file to the inferior S process.  We
     continue to edit S input files in ESS[S] mode and transcripts of
     previous S sessions in ESS Transcript mode.  All three modes know
     the S language, syntax, and indentation patterns and provide the
     syntactic highlighting that eases the programming tasks.

More information about the ESS-help mailing list