[ESS] README organization

Rodney Sparapani rsparapa at mcw.edu
Wed Dec 3 18:09:29 CET 2008


Andreas Kiermeier wrote:
> Hi Rodney,
> 
> would it be possible to put a small table of contents at the top of
> the README file - like the one you showed. That way people can see
> what's covered in the file, and roughly where that is?
> 
> Cheers,
> 
> Andreas
> 

Hi Andreas:

Ok, that's another good suggestion.  However, I am no makeinfo expert.
But, this seems doable.  For those that are makeinfo experts, or want
to try this at home, here are the details (comments welcome):

In Makeconf, comment out the following line

MAKETXT  = $(MAKEINFO) --no-validate --no-headers --no-split -o -

and provide the following replacement

MAKETXT  = $(MAKEINFO) --no-validate --plaintext --no-split -o -

then add the following Table of Contents to doc/readme.texi somewhere
near the top (I put it after the intro, see below):
@ifplaintext
Table of Contents

@itemize @bullet
@item License
@item Stability
@item Requirements
@item Latest Version
@item Installation
@item Starting an ESS Process
@item New Features
@item Current Features
@item Reporting Bugs
@item Mailing Lists
@item Authors
@end itemize
@end ifplaintext

and then in the doc directory do a

make ../README

or for us real Unix veterans

gmake ../README

If the comments are positive, then I'll commit this last suggestion
(the other suggestion about re-organization will appear in 5.3.10).

Thanks,

Rodney

1 General Information: README
*****************************

This is the README file for the distribution of ESS version

    5.3.9

    ESS is a GNU Emacs and XEmacs mode for interactive statistical
programming and data analysis.  Languages supported: the S family (S,
S-PLUS and R), SAS, BUGS/JAGS, Stata and XLispStat.  ESS grew out of the
desire for bug fixes and extensions to S-mode and SAS-mode as well as a
consistent union of their features in one package.

    Installation instructions are provided in sections for both Unix and
Windows; see below.

    The current development team is led by Martin Maechler since August
2004. Former project leader A.J. (Tony) Rossini
(<rossini at blindglobe.net>) did the initial port to XEmacs and has been
the primary coder.  Martin Maechler (<maechler at stat.math.ethz.ch>) and
Kurt Hornik (<Kurt.Hornik at R-project.org>) have assisted with the S
family and XLispStat.  Stephen Eglen (<stephen at gnu.org>) has worked
mostly on R support.  Richard M. Heiberger (<rmh at temple.edu>) has
assisted with S/S-PLUS development for Windows.  Richard and Rodney A.
Sparapani (<rsparapa at mcw.edu>) have done much of the work improving SAS
batch and interactive support.  Rodney has also extended ESS to support
BUGS/JAGS and has an interest in improving Stata support.

    We are grateful to the previous developers of S-mode (Doug Bates, Ed
Kademan, Frank Ritter, David M. Smith), SAS-mode (Tom Cook) and
Stata-mode (Thomas Lumley).

    Table of Contents

    * License

    * Stability

    * Requirements

    * Latest Version

    * Installation

    * Starting an ESS Process

    * New Features

    * Current Features

    * Reporting Bugs

    * Mailing Lists

    * Authors

1.1 License
===========

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
version.

    ESS is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
in the file COPYING in the same directory as this file for more details.

1.2 Stability
=============

Versions 5.3.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!

1.3 Requirements
================

ESS has been tested with

    * R >=0.49

    * S-PLUS 3.3-4, 4.5, 2000, 5.0-1, 6.0-2, 7.0, 8.0

    * S4

    * SAS >=6.12

    * BUGS 0.5, 0.6

    * JAGS 1.0

    * Stata >=6.0 (command line only)

    on the following platforms

    * Linux/x86 (all)

    * Solaris (all)

    * MS Windows 98/NT/2000/XP (R, S-PLUS, SAS interactive only, and
      BUGS)

    * Apple Mac OS X 10.4-5 (R, JAGS, Stata)

    with the following versions of emacs

    * GNU Emacs 20.3-7, 21.1, 21.3-4, 22.1

    * XEmacs 21.4.0-8, 21.4.9-13(1), 21.4.14-15, 21.4.17-21 (betas not
      supported, but 21.5.23+ may work)

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

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

1.4 Getting the Latest Version
==============================

The latest released version of ESS is always available on the web at:
ESS web page (http://ess.r-project.org) or StatLib
(http://lib.stat.cmu.edu/general/ESS/)

    The latest development version of ESS is available via
`https://svn.R-project.org/ESS/', the ESS Subversion repository.  If
you have a Subversion client (see `http://subversion.tigris.org/'), you
can download the sources using:
      % svn checkout https://svn.r-project.org/ESS/trunk 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 (https://svn.r-project.org/ESS/trunk).
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: svn.r-project.org
       - 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.

1.5 Installation (from tar file)
================================

1.6 Unix installation
=====================

   1.  `cd' to a directory where you keep emacs lisp files, or create a
      new directory (for example, `$HOME/ess') to hold the distribution.
      This directory will be referred to below as "the ESS distribution
      directory".

      _Note for XEmacs packages:_ ESS is no longer available as an
      XEmacs package.  But, you can still install ESS into the XEmacs
      package system by choosing
      `ESSDIR'=`PREFIX/lib/xemacs/site-packages'.  ESS requires that the
      XEmacs sumo tarball (all XEmacs packages combined) also be
      installed.  For information on installing XEmacs packages, follow
      this link: Quickstart Package Guide
      (http://www.xemacs.org/Documentation/packageGuide.html).

   2. Retrieve the latest version from ESS downloads area
      (http://ess.r-project.org/downloads/ess) to `ESSDIR'.

   3. Extract the files from the disribution.
           If you are using GNU tar, `tar zxf ess-VERSION.tgz'.
           Otherwise, `gunzip < ess-VERSION.tgz | tar xf -',

      The `tar' command will create the subdirectory `ess-VERSION' and
      install the files there.

   4. Edit the file `ESSDIR/ess-VERSION/lisp/ess-site.el' as explained
      in the comments section of that file.

   5. If you are using GNU Emacs add the line
           (load "ESSDIR/ess-VERSION/lisp/ess-site")
      to `$HOME/.emacs'.  For XEmacs, if you followed the XEmacs package
      system installation advice, add the line
           (require 'ess-site)
      to `$HOME/.xemacs/init.el'.  Otherwise, for XEmacs, add the line
           (load "ESSDIR/ess-VERSION/lisp/ess-site")
      to `$HOME/.xemacs/init.el'.

   6. That's it!  ESS is now ready to use.  (The remaining step below is
      only for a custom installation.)  To edit statistical programs,
      just open files with the requisite extensions (`.R' for R, `.sas'
      for SAS, `.bug' for BUGS, etc.).  To start a statistical process
      within emacs, such as R, type `M-x R'.

   7. (OPTIONAL) READ THIS ITEM THOROUGHLY BEFORE STARTING:

      If you want to place the compiled files in other locations edit the
      `LISPDIR', `INFODIR' and `ETCDIR' entries in Section 1 of
      `Makeconf' in the `ESSDIR/ess-VERSION' directory (if you are using
      XEmacs, then uncomment the XEmacs subsection in Section 1).

      You can compile those files by:
           make all

      When that completes successfully, install the compiled files:
           make install


1.7 Microsoft Windows installation
==================================

For Microsoft Windows installation, please follow the next steps.

   1. `cd' to a directory where you keep emacs lisp files, or create a
      new directory (for example, `c:\ess\') to hold the distribution.
      This directory will be referred to below as "the ESS distribution
      directory".

      _Note for XEmacs packages:_ ESS is no longer available as an XEmacs
      package. But, you can still install ESS into the XEmacs package
      system by choosing `ESSDIR'=`PREFIX\XEmacs\site-packages'.  ESS
      requires that the XEmacs sumo tarball (all XEmacs packages
      combined) also be installed.  For information on installing XEmacs
      packages, follow this link: Quickstart Package Guide
      (http://www.xemacs.org/Documentation/packageGuide.html).

   2. Retrieve the latest zip file (`ess-VERSION.zip') from ESS
      downloads area (http://ess.r-project.org/downloads/ess) and store
      it in the ESS distribution directory.  Be aware that http browsers
      on Windows frequently change the "." and "-" characters in
      filenames to other punctuation.  Please change the names back to
      their original form.

   3. Extract all the files from `ess-VERSION.zip' into the ESS
      distribution directory as `c:\ess\ess-VERSION\'.  (It is possible
      to unpack the zip archive in Windows Explorer by double clicking
      on the folder; you should then see a new folder called
      `ess-VERSION'.  Drag that folder into your ESS distribution
      directory.)

   4. If you are using GNU Emacs add the line
           (load "ESSDIR/ess-VERSION/lisp/ess-site")
      to `%HOME%\.emacs'.  For XEmacs, if you followed the XEmacs
      package system installation advice, add the line
           (require 'ess-site)
      to `%HOME%\.xemacs\init.el'.  Otherwise, for XEmacs, add the line
           (load "ESSDIR/ess-VERSION/lisp/ess-site")
      to `%HOME%\.xemacs\init.el'.  _Note:_ Both GNU Emacs and XEmacs
      require that the HOME environment variable be set on your system,
      otherwise, your initialization file will not be utilized, and
      therefore, ESS will not work.

      After saving your initialization file, ESS is now installed.
      Start a new emacs and you should be ready to use ESS.  For
      example, to edit statistical programs, load the files with the
      requisite extensions (".sas" for SAS, ".S" or "s" or "q" or "Q"
      for S-PLUS, ".r" or ".R" for R, and ".lsp" for XLispStat).  One
      further step is needed if you wish to run statistical processes,
      see below.

   5. To run statistical processes under ESS, Windows users will need to
      make sure that the directories for the software they will be using
      is in the PATH environment variable.  On Windows 9x, add lines
      similar to the following to your `c:\autoexec.bat' file:
           path=%PATH%;c:\progra~1\insightful\splus70\cmd
      On Windows NT/2000/XP, add the directories to the PATH using the
      `My Computer/Control Panel/System/Advanced/Environment Variables'
      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
      "`\'".

      An alternative, for R users, is that rather than adjusting the PATH
      variable, you can add the following to your emacs initialization
      file (and restart emacs):
           (setq inferior-R-program-name 
"c:/progra~1/R/R-2.2.1/bin/Rterm.exe")
      This assumes that you have installed R-2.2.1 in the default
      location.  Change the path otherwise to point to other locations.

      Windows users who place S-PLUS anywhere other than the default
      location will also need to add the following three lines (properly
      adjusted for their location) to their `%HOME%\.emacs' or
      `%HOME%\.xemacs\init.el' file:
           (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")
      The above example uses the default location of S-PLUS in
      `c:\progra~1\Insightful'.  Please note that ESS considers S-PLUS
      6, 7, and 8 to be variants of S+6.

      These users may also need to modify the emacs variable
      `ess-SHOME-versions' to match their installation in order to get
      the full set of S-PLUS versions on their machine into the `ESS'
      menu.

      To start the S-PLUS [678].x GUI from ESS under emacs:
        1. If you use Cygwin bash as your primary shell, then
                M-x S
                (or `M-x S+6').

        2. If you use the MSDOS prompt window as your primary shell, then
                M-x S+6-msdos
           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.  ESS will start the
      S-PLUS GUI.  There will be slight delay during which emacs is
      temporarily frozen.  ESS will arrange for communication with the
      S-PLUS GUI using the DDE protocol.  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.
      (If you are still using S-PLUS 4.x or 2000,\ then use `M-x S+4' or
      `M-x S+4-msdos'.)

      To start an S-PLUS [678].x session inside an emacs buffer--and
      without the S-PLUS GUI:
           M-x Sqpe
           (or `M-x Sqpe+6').
      This works with both the bash and msdos shells.  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.  You get Unix-like behavior, in particular the
      entire transcript is available for emacs-style search commands.
      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.  Interactive graphics are available
      with Sqpe by using the java library supplied with S-PLUS 6.1 and
      newer releases.  Enter the commands:
           library(winjava)
           java.graph()
      Graphs can be saved from the `java.graph' device in several
      formats, but not PostScript.   If you need a PostScript file you
      will need to open a separate `postscript' device.  (If you are
      still using S-PLUS 4.x or 2000, then use `M-x Sqpe+4'.)

      To connect to an already running S-PLUS GUI (started, for example,
      from the S-PLUS icon):
           M-x S+6-existing
      or
           M-x S+6-msdos-existing
      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.  ESS will arrange
      for communication with the already running S-PLUS GUI using the
      DDE protocol.  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.  (If you are
      still using S-PLUS 4.x or 2000,  then use `M-x S+4-existing' or
      `M-x S+4-msdos-existing'.)

      If you wish to run R, you can start it with:
           M-x R

      XLispStat can not currently be run with
           M-x XLS
      Hopefully, this will change.  However, you can still edit with
      emacs, and cut and paste the results into the XLispStat *Listener*
      Window under Microsoft Windows.

   6. That's it!


1.8 Starting an ESS process
===========================

To start an S session on Unix or on Windows when you use the Cygwin
bash shell, simply type `M-x S RET'.

    To start an S session on Windows when you use the MSDOS prompt
shell, simply type `M-x S+6-msdos RET'.

1.9 Current Features
====================

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

         * SAS

         * BUGS/JAGS

         * Stata

         * XLispStat including Arc and ViSta

    * Editing source code (S family, SAS, BUGS/JAGS, 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/JAGS)

         * 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
           names

         * 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

1.10 New Features
=================

Changes/New Features in 5.3.10:
    * Fixed noweb-mode bug accidentally introduced into 5.3.9

    * In noweb-mode, e.g., Rnw-mode, electric "<" also inserts closing
      "@".   Further, the code chunk boundaries are better kept
      up-to-date, such that  code[R] <-> text[LaTeX] minor mode
      switching should happen more reliably.

    Changes/New Features in 5.3.9:
    * ESS[SAS]: evince PDF viewer now supported as well; search order:
      evince, Xpdf, Adobe/Acrobat Reader

    * ESS[R]: added support for Roxygen, potentially to be extended.

    * ESS[S] (and R): inferior (`*R*') and transcript modes no longer
      fontify language keywords (such as `for', `in', etc).

    * iESS[Stata]: Customize the `ess-sta-delimiter-friendly' setting to
      t to convert embedded semi-colons to newlines for Stata processing.

    * Sweave fix for embedded blanks in PDF reader and PDF files

    * Several fixes for Major Mode Convention violations in `ess-mode'
      and `noweb-mode'.

    * ESS[JAGS]: `M-x comment-region' now available!

    * ESS[S] The `ess-swv-*' commands (and keybindings) are now in a
      submenu of the "Noweb" menu, when editing Sweave files.

    Changes/New Features in 5.3.8:
    * ESS[JAGS]: more separation from ESS[BUGS] (as much as is currently
      planned); now `C-c C-c' on an empty `.jmd' creates a template as
      it should; symbolic links are created for CODA output so BOA is
      happy: from `index.txt' to `.ind' and `chain#.txt' to `#.out'

    * ESS[SAS]: buffer-local `ess-sas-submit-command' and
      `ess-sas-submit-command-options' now recognized by
      `ess-sas-submit-region'

    * ESS[S]: When trying to evaluate code in an S language buffer and
      there is no associated process, now start R automatically instead
      of  signalling an error.  Also, restart R if there is an
      associated process  which is not running.  However, do not start R
      just via the "electric"  `(' (`ess-r-args-auto-show').

    * ESS[S]: For (one-line) functions withOUT '{ .. }' bodys, the end
      of function is now correctly found more often.  This notably
      improves  `C-c C-c' (`ess-eval-function-or-paragraph-and-step').

    * ESS[JAGS]: cleanup/re-organization of elisp code; symbolic links
      for CODA output are now only created by the new JAGS `system'
      command in version 1.0.3; specify whether this command is
      available via `ess-jags-system'; if not present, then no links are
      created so that the `*shell*' buffer does not become unresponsive
      during the batch run

    Changes/New Features in 5.3.7:
    * ESS: `ess-default-style' now *is* customizable, i.e.,   changing
      its value in `~/.emacs' now does have the desired effect.

    * ESS: `ess-font-lock-mode' is a new variable (default: t) which
      controls whether font-locking is enabled in ESS buffers.

    * ESS[R]: for XEmacs on Windows; another tweak to find R versions

    * ESS[SAS]: font-locking updated for ODS and SAS Bayesian Procedures;
      a more consistent handling of SAS options by
      `ess-sas-submit-command-options' which is buffer-local; portable
      snooze for MS Windows via customize-able `ess-sleep-for' (floats
      welcome); Xpdf now supported as a PDF viewer

    * ESS[Rnw]: now also works with "emacs -nw" and Emacs 22.

    * ESS[JAGS]: now requires JAGS 1.0 (see the new ESS for JAGS help
      section for more information): both need work; suggestions welcome

    * ESS[R]: [TAB] completion now uses the R-internal completion
      mechanism (for R >= 2.5.0).

    * ESS[R] ([S]): interpretation of "_" as assignment has been removed
      in `ess-continued-statement-p' for R and S.

    * several internal code cleanups.

    * ESS[R]: An experimental version of a new command `Rgui' on MS
      Windows to send lines directly from emacs to `Rgui' is available
      in file `lisp/essd-rgui.el'.  Preliminary documentation is in file
      `doc/rgui-doc.txt'.

    Changes/New Features in 5.3.6:
    * ESS: for XEmacs, using "gnuclient" (without a "-q") works for
      things like fix() after M-x gnuserv-start has been done.

    * ESS[R]: M-x R-newest should now work in more situations on MS
      Windows, e.g., when R has been installed in a non-default
      "ProgramFiles"  directory tree.  In these cases, there's no need
      to specify the name (and  full path) of the R program anymore.

    * ESS[R]: For XEmacs, startup (with new tooltip code) works again.

    Changes/New Features in 5.3.5:
    * ESS[R] a new defun is available, `M-x R-newest', which will start
      the newest version of R that it can find on your system.

    * ESS[R] add Sven Hartenstein's "R function arguments tips"
      functionality, via new file `../lisp/essd-r-args.el'.   Note that
      this includes an "electric "("" behavior inside `R-mode'  which is
      _active by default_ and can be customized via
      `ess-r-args-electric-paren'; i.e., use `(setq
      ess-r-args-electric-paren nil)' to turn it off.  Further,
      `ess-r-args-show-as' allows to switch to the "tooltip" mode.

    * ESS: functions `ess-get-pdf-viewer' and *-ps-viewer; built on new
      customizable variables `ess-pdf-viewer-pref' and
      `ess-ps-viewer-pref'; currently used in `ess-swv-PDF' and  `*-PS'.

    * ESS[R] Improved `ess-swv-PDF' to run pdf viewer only if  pdflatex
      was ok

    * ESS[R] Improved `ess-swv-weave' to start R automatically if  none
      is running.

    * ESS: Do no longer ask _which_ ESS process to use if there  is only
      one.

    Changes/New Features in 5.3.4:
    * ESS[R] now better work with options(error=recover); and the new
      default of CHM help files on windows.

    * ESS[R] some more cleanup in the "sweave" functions

    * miscellaneous fixes

    Changes/New Features in 5.3.3:
    * ESS[S] fix buglet (5.3.2 only) which left command prompt in
      "execute buffer" and hence help files.

    * new customizable variable `ess-display-buffer-reuse-frames' set to
      true (which changes default behavior) such that execution or help
      *frames* are reused.

    Changes/New Features in 5.3.2:
    * Classic BUGS now supported by `(require 'essd-bugs)' with ESS[BUGS]
           and JAGS by `(require 'essd-jags)' with ESS[JAGS].  But,
      only one       of them can be used at a time since they don't play
      nice together.  Also,       `C-c C-c' is now bound to the function
      `ess-bugs-next-action'       (`F12' has been retired).  And
      finally, note that `essl-bug.el'       is deprecated and the
      replacement is `essl-bugs.el'.

    * ESS[R] Improved some of the "Sweave-make"  functions (yet scarcely
      documented) in `ess-swv.el'.

    * ESS[S] No longer mess with .Last.value (nor in other "languages").

    Changes/New Features in 5.3.1:
    * See the docs for 2 ways to install ESS for XEmacs
        1. by uncommenting the XEmacs part of             Section 1 of
           `Makeconf' and performing `make install'

        2. by unpacking either             `ess-5.3.1.tgz' or
           `ess-5.3.1.zip' into
           `PREFIX/lib/xemacs/site-packages' on unix or
           `PREFIX\XEmacs\site-packages' on windows

    * ESS[R]: fixed bugs so that Rterm.exe can be found by XEmacs

    * ESS[S]: `ess-toggle-S-assign-key' is slightly changed; in
      particular, the default `ess-assign-key' is now `C-x ='.

    * ESS[R]: `M-x R-site-search' is a new (slightly experimental)
      utility similar to R's `RSiteSearch(..)' but with the advantage of
      using Emacs' preferred browser, see `browse-url-browser-function'

    Changes/New Features in 5.3.0:
    * ESS[BUGS]: sanely re-format statistical output, `.bog', from
      scientific notation to numbers rounded with 4 decimal places with
      `M-x ess-bugs-sci-round-to-4-dp'.

    * The keys for navigating among section headings in help buffers
      worked, but only for one language per session; they should now
      work for multiple languages.  (They were also broken on Windows
      machines.)

    * ESS[S] long standing buglets in the internal logic for loading
      lisp code on Windows.  Particularly fixed behavior in help mode
      with S-plus GUI.

    * New variable, `ess-use-inferior-program-name-in-buffer-name',
      which enables using the executable name instead of the dialect
      name for R. Feature request.

    * ESS[S] `ess-execute-screen-options' now also works correctly when
      there is more than one window *side-by-side* in the same frame and
      runs in the correct buffer also when there is more than one S
      buffer.

    * iESS[S] new functions `ess-eval-paragraph-and-step' and
      `ess-eval-function-or-paragraph-and-step' are bound to keys  `C-c
      C-p' and `C-c C-c' respectively and to the menu in  ESS-mode; also
      bound in the help mode (for evaluating examples).

    * ESS[S] new function `ess-toggle-S-assign-key' allows to assign the
      " <- " insertion to an arbitrary key.

    Changes/New Features in 5.2.12:
    * ESS[SAS]: `M-;' fixed, but the XEmacs function `comment-dwim' may
      be broken, if so, use `M-x comment-region' and `M-x
      uncomment-region' instead; only valid PROCs are fontified which is
      very helpful finding syntax errors (currently supported: BASE,
      ETS, FSP, GRAPH, IML, INSIGHT and STAT); the "feature" where
      `F'-keys take you to an empty buffer when the requested
      destination is a file that does not exist has been fixed, now the
      request results in a no-op.  Further, sas-mode now also works in
      simple terminals.

    * Rterm/Cygwin combination works under Microsoft Windows.

    * ESS[R]: internal calls use baseenv() instead of NULL and define
      'baseenv' where needed.

    * New experimental support for installing ESS.  See the file
      `lisp/ess-install.el'.

    Changes/New Features in 5.2.11:
    * ESS Info entry and `dir' handled more effectively for GNU Emacs
      users

    * ESS[SAS]: temporary files created for batch submission of a region
      are now named based on the current file; see `ess-sas-file-root'
      for details; all `lag' and `dif' functions now fontified correctly

    * iESS[SAS]: fixed a few nagging bugs, however, still does not
      appear to work at this time; please let us know if you have any
      ideas.

    * ESS[S]: Support for running other versions of Splus has been added
      for unix.  Two new variables, `ess-s-versions' and
      `ess-s-versions-list', are used to tell ESS what other versions of
      Splus you would like to run.

    Changes/New Features in 5.2.10:
    * ESS[R]: ess-r-versions can no longer be customized (since the
      customization was not taking effect unless customizations were
      loaded before ESS).  Its value has been changed so that it will
      also find R executables beginning "R-devel" and "R-patched".  If
      you wish to change this variable, it must be set in your `.emacs'
      before ESS is loaded.

    * Installation with GNU Make enhanced:  unix and unix-like operating
      systems will now be able to install ESS for all users in either a
      GNU Emacs site-lisp or an XEmacs package configuration by editing
      `lisp/ess-site.el' and `Makeconf' accordingly, then issuing `make
      install'

    * ESS[S]: Filename completion (inside strings) now also works in
      XEmacs for R and S-plus.

    Changes/New Features in 5.2.9:
    * ESS[R] for Windows:  the \ directory character bug with respect to
      ess-load-file has been eradicated.

    * iESS[SAS]: `C-c C-r' and `C-c C-b' once again work as intended and
      documented.

    * ESS[S]: M-x ess-fix-EQ-assign is a bit more agressive.

    * ESS[S]: Imenu now also shows setAs(), etc.

    * ESS[R]: R function pattern enhanced with underlying code such that
      `M-C-a' (`ess-beginning-of-function') etc now work for many more
      cases, including S4 method definitions.

    * iESS[R]: myOwnhelp(1) no longer wrongly triggers help(1).

    * ESS[R]: Improved detection of bogus help buffers: valid help
      buffers containing with the string "no documentation"(e.g. contour)
      were being treated as bogus.

    * ESS[R]: In R help buffers, if `options("help.try.all.packages" =
      TRUE)' then `?rlm' will list which packages rlm is defined in.
      This help  buffer is not bogus, but instead is now relabelled
      "*help[R](rlm in  packages)*".

    * ESS[STA]: add "//" as comment starting character to syntax-table.

    Changes/New Features in 5.2.8:
    * iESS: [Tab] completes *file* names "inside string" as in earlier
      (<= 5.2.3) ESS versions.

    Changes/New Features in 5.2.7:
    * If you use Custom to change the variable ess-toolbar-items, the
      new toolbar is used in all subsequent ESS buffers.

    * ESS[SAS]: new feature:  if ess-sas-log-max >0 and your .log grows
      to more than ess-sas-log-max bytes, just the first ess-sas-log-max
      bytes are refreshed; this is helpful when your .sas program
      generates lots of error messages and gets too big for emacs to
      display

    * ESS[R/S]: `M-;' in R/S editing modes will now indent with either
      one or two hashes depending on context.

    * ESS[R]: David Whiting's Sweave extensions (to 'noweb') are now
      available (from ess-swv.el loaded by default).

    Changes/New Features in 5.2.6:
    * Removed non-ASCII characters in a few files.

    * ESS[R]: now works better when UTF-8 locale is active; in
      particular, you get correct directional quotes in R's startup
      message  for R-devel (unstable development version of R 2.1.0)
      when using  environment variables LANGUAGE=en at quot
      LC_ALL=en_US.UTF-8

    * ESS[SAS]: toggling of .log mode improved (`F10'); toggling of .lst
      mode now also available (`C-F10'); killing all buffers associated
      with .sas program no longer bound to `C-F10' since its a bit
      overzealous.

    * S-Plus 7 for Windows is now recognized.

    * ESS[S] (incl. R): in auto-fill mode, strings are not wrapped
      anymore.

    * ESS[S] (incl. R): font-lock now correctly differs between R and S,
      e.g., for "_"; both now fontify warning(.) and S does terminate()
      additionally.

    * Support for `bell' aka `beep' aka `ding' aka `alarm' in all
      inferior modes: When \a is output "to the the console" at the
      beginning of a line, the bell is rung.

    Changes/New Features in 5.2.5:
    * ESS[R]: `C-c C-q' or `Quit S' from the menu now should work (again
      and less klunkily) and do not append `-exited' to the buffer name.
      Further, the behavior of `(ess-cleanup)', called from ess-quit,
      now depends on the new customizable variable
      `ess-S-quit-kill-buffers-p' which defaults to `nil'.
      Consequently, the question _"Delete all buffers associated with
      ..?"_ will not be asked anymore by default.

    * ESS[SAS] - ess-ebcdic-to-ascii-search-and-replace will now work
      with the `recode' application as well which is available on many
      platforms

    * ESS[S] (incl. R): Name completion for slots of S4 objects now
      works!

    Changes/New Features in 5.2.4:
    * The documentation now includes an overview of how to use the emacs
      TAGS facility for S functions.  (The distribution also used to
      contain a directory `etc/other/Tags' where a ~1990 version of
      `etags.c' was distributed; this is no longer relevant and so has
      been deleted.)

    * ESS[SAS] - When you are working with EBCDIC files on an ASCII
      platform, .log NOTEs may display as gibberish since the EBCDIC
      characters are not converted to ASCII prior to their display.  So,
      the function ess-ebcdic-to-ascii-search-and-replace is provided for
      convenience and is bound to `C-F11'.  This function requires the
      `dd' command (only available on unix or unix-like platforms).

    * ESS: Completion of object names is now always done dynamically
      rather than allowing the option of using a pre-computed database
      (by `ess-create-object-name-db') since modern computers seem fast
      enough for dynamic completion.  (We expect few users, if any, have
      been using the pre-computed database method.)

    * ESS: object completion in iESS buffers running on Windows was very
      slow (for GNU Emacs, but not XEmacs) and has now been fixed.
      Further, it was more or less broken for all versions of S-plus 6.x,
      and has been fixed to work everywhere but with the Windows' GUI of
      S-plus.  The list of objects now shows unique names also when an
      object appears more than once in the search path.

    * ESS[R]: Completion of object names now also includes those
      starting with ".".

    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 hut.fi); 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; "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-toggle-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
      Brahm)

    * 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 (http://ess.r-project.org/) and StatLib
      (http://lib.stat.cmu.edu/general/ESS/doc)

    * 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
      (http://www.xemacs.org/Install/index.html) 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
      names.

    * 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-remote

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

    * 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
      XEmacsen).

    * 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 autoexec.sas 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
      (Windows))

    * 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
      data...in" and "init...in" 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 autoexec.sas 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
      ess-emcs.el

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

    * Improved manual a bit by including things that were only in
      `README'.

    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:
    * BUG FIXES

    * Better SAS support

    Changes/New Features in 5.1.15:
    * BUG FIXES

    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
      (AJRossini)

    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
      Heiberger.

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

    * 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 alum.mit.edu).

    * 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.

1.11 Reporting Bugs
===================

Please send bug reports, suggestions etc. to
<ESS-bugs at stat.math.ethz.ch>

    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.

1.12 Mailing Lists
==================

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 stat.math.ethz.ch>;
contributions to the list may be mailed to
<ess-help at stat.math.ethz.ch>.  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.

1.13 Authors
============

    * A.J. Rossini (mailto:blindglobe at gmail.com)

    * Richard M. Heiberger (mailto:rmh at temple.edu)

    * Kurt Hornik (mailto:Kurt.Hornik at R-project.org)

    * Martin Maechler (mailto:maechler at stat.math.ethz.ch)

    * Rodney A. Sparapani (mailto:rsparapa at mcw.edu)

    * Stephen Eglen (mailto:stephen at gnu.org)





More information about the ESS-help mailing list