Commits

Anonymous committed 28b384f

Re-organized docs in anticipation of a submission to JSS. Removed RCS variables
since we moved to a subversion repository and didn't think keeping them was
worth the hassle. Updated author, copyright info. A few bug-fixes and new
features were also documented.

  • Participants
  • Parent commits e107b1d

Comments (0)

Files changed (11)

texi/announc.texi

 @setfilename announc.info
 @settitle ESS --- Emacs Speaks Statistics
 @comment %**end of header
-@comment $Id$
 
 @comment  node-name,  next,  previous,  up
 @node Announce, Latest Version, General Information, General Information

texi/authors.texi

 @itemize @bullet
 @item
 @c @uref{http://www.analytics.washington.edu/,A.J. Rossini}
-@uref{mailto:rossini@@u.washington.edu, A.J. Rossini}
+@uref{mailto:rossini@@blindglobe.net, A.J. Rossini}
 @c --------
 @item
 @c @uref{http://www.sbm.temple.edu/departments/statistics/,Richard M. Heiberger}
 @uref{mailto:hornik@@ci.tuwien.ac.at, Kurt Hornik}
 @c --------
 @item
-@c @uref{http://stat.ethz.ch/~maechler/,Martin Maechler}
+@c @uref{http://stat.ethz.ch/people/maechler/,Martin Maechler}
 @uref{mailto:maechler@@stat.math.ethz.ch, Martin Maechler}
 @c --------
 @item

texi/bugrept.texi

 Please send bug reports, suggestions etc. to
 
 @ifhtml
-<A HREF="mailto:ESS-bugs@stat.math.ethz.ch">
+<A HREF="mailto:ESS-bugs@@stat.math.ethz.ch">
 @end ifhtml
 @email{ESS-bugs@@stat.math.ethz.ch}
 @ifhtml
 @setfilename ess.info
 @settitle ESS --- Emacs Speaks Statistics
 @comment %**end of header
-@comment $Id$
 
 @synindex pg vr
 
 @include ess-defs.texi
 @titlepage
 @title ESS --- Emacs Speaks Statistics
-@subtitle (Documentation $Revision$ $Date$)
+ESS version
+@include ../VERSION
+
 @author The ESS Developers (A.J. Rossini, R.M. Heiberger, K. Hornik,
 @author M. Maechler, R.A. Sparapani  and S.J. Eglen)
 @c @author (Formerly by: Doug Bates, Ed Kademan, Frank Ritter
 
 @end titlepage
 
-@ifinfo
+@ifnottex
 @majorheading ESS --- Emacs Speaks Statistics
+
 @direntry
 * ESS: (ess). Emacs Speaks Statistics (S/S+/R, SAS, BUGS, Stata, XLisp-Stat).
 @end direntry
+@c node-name,  next,  previous,  up
 @node Top, Introduction, (dir), (dir)
 @top ESS: Emacs Speaks Statistics
 
 ESS version
 @include ../VERSION
 
-        (Documentation $Revision$ $Date$).
-
 @display
 by  A.J. Rossini,
     R.M. Heiberger,
 statements written in these statistical analysis languages.
 @end quotation
 
-@end ifinfo
+@end ifnottex
 
 @menu
 * Introduction::                Overview of features provided by this package
 * Installation::                Installing ESS on your system
+
 * Interactive ESS::             Interacting with statistical programs
-* Help for the S family::
-* Help for SAS::
-* Help for BUGS::
-* Entering commands::           Interacting with the process buffer
-* Editing::                     How to create or edit S objects or functions
-* Help::                        Reading help files in ESS
+* Entering commands::           Interacting with the ESS process
 * Transcript Mode::             Manipulating saved transcript files
+
+* ESS for the S family::
+* Editing::                     How to create/edit objects and functions
+* Editing R documentation files::
+* Help::                        Reading help files
+
+* ESS for SAS::
+* ESS for BUGS::
+
 * Miscellaneous::               Other features of ESS
-* Bugs Etc::
+* Mailing lists/bug reports::   How to get assistance with ESS
 * Customization::               Customizing ESS
+
 * Key Index::
 * Concept Index::
 * Variable and command index::
 @node Features, New features, Introduction, Introduction
 @section Why should I use ESS?
 
-S is a powerful system for manipulating and analyzing data, but its user
-interface --- particularly on Unix platforms --- leaves something to be
-desired.  ESS is a package which is designed to make @Sl{} easier to
-use.
+Statistical packages are powerful software systems for manipulating and
+analyzing data, but their user interfaces often leave something something
+to be desired:  they offer weak editor functionality and they differ
+among themselves so markedly that you have to re-learn how to do those
+things for each package.  ESS is a package which is designed to make
+editing and interacting with statistical packages more uniform,
+user-friendly and give you the power of emacs as well.
 
 ESS provides several features which make it easier to interact with the
-ESS process (i.e. enter commands and view the output).  These
-include:
+ESS process (a connection between your buffer and the statistical
+package which is waiting for you to input commands).  These include:
 
 @itemize @bullet
 @item
 
 @comment  node-name,  next,  previous,  up
 @node Installation, Interactive ESS, Introduction, Top
-@appendix Installing ESS on your system
+@chapter Installing ESS on your system
 @cindex installation
 
 The following section details those steps necessary to get ESS running
 * Unix installation::              Installing ESS on your Unix system
 * Microsoft Windows installation:: Installing ESS on your MS Windows system
 * Requirements::         emacs, Operating Systems and Statistical Packages
-* System dependent::               Variables you may need to change
 @end menu
 
+@c FIXME: the following contains @node s  *and* is also included by readme.texi
+@c -----  which does *not* include 'requires.texi'
+@c         ==> *must* give node pointer problems!
 @include inst_tar.texi
 
 @node Requirements, , Microsoft Windows installation, Installation
 @section Requirements
 @include requires.texi
 
+
 @comment  node-name,  next,  previous,  up
-@node System dependent,  , Installation, Installation
-@appendixsec Variables you may need to change
-
-If you run the @Sl{} program (from the shell) with a command other than
-@samp{Splus} you will need to set the variable
-@code{inferior-ess-program}
-@vindex inferior-ess-program
-to the name of the appropriate program by including a line such as
-@cindex S program name
-@cindex name of S program
-@cindex command to run S program
-
-@example
-(setq inferior-ess-program "S+")
-@end example
-@noindent
-in your @file{.emacs} file
-@cindex @file{.emacs} file
-@noindent
-(substituting @samp{S+} for the name of your @Sl{} program.)
-
-If you need to call this program with any arguments, the variable you
-@cindex arguments to S program
-need to set is dependent on the value of @code{inferior-ess-program}; for
-example if it is @code{"Splus"}, set the variable
-@code{inferior-Splus-args}
-@vindex inferior-Splus-args
-to a string of arguments to the @code{Splus} program.  If
-@code{inferior-ess-program} has some other value, substitute the
-@code{Splus} part of @code{inferior-Splus-args} with the appropriate
-program name.  There aren't many instances where you need to call @Sl{}
-with arguments, however: in particular do not call the @Sl{} program
-with the @samp{-e} command-line editor argument since ESS provides this
-feature for you.
-
-@cindex Splus
-@vindex S-plus
-If you are running Splus (the enhanced version of @Sl{} from Statsci) you
-may also need to set the variable @code{S-plus} to @code{t}.  If your
-value of @code{inferior-ess-program} is @code{"S+"} or @code{Splus} this
-will not be necessary, however; @code{S-plus} defaults to @code{t} in
-this case.
-
-Finally, if you use a non-standard prompt within S, you will need to set the
-variable @code{inferior-ess-prompt}
-@cindex prompts in S
-@vindex inferior-ess-prompt
-to a regular expression which will match both the primary prompt (@code{"> "}
-@cindex primary prompt
-by default) and the continuing prompt (default of @code{"+ "}.) The
-@cindex continuing prompt
-default value of this variable matches S's default prompts.  For example,
-if you use (@code{"$ "}) as your primary prompt (you have
-@w{@code{options(prompt="$ ")}} in your @code{.First} function), add the
-@pindex options()
-@cindex @code{.First} function
-following line to your @file{.emacs}:
-@example
-(setq inferior-ess-prompt "^\\(\\+\\|[^\\$]*\\$\\) *")
-@end example
-@noindent
-You will also need to set the variable @code{inferior-ess-primary-prompt}
-@vindex 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 @samp{^}.  Once
-again, the default value matches S's default prompt; in the example
-above the appropriate value would be @code{"[^\\$]*\\$ *"}.
-
-Once these variables are set appropriately, ESS should work on any
-system.
-
-@comment  node-name,  next,  previous,  up
-@node Interactive ESS, Help for the S family, Installation, Top
+@node Interactive ESS, Entering commands, Installation, Top
 @chapter Interacting with statistical programs
 
 As well as using ESS to edit your source files for statistical programs,
-you can ESS to run these statistical programs.  In this chapter, we
+you can use ESS to run these statistical programs.  In this chapter, we
 mostly will refer by example to running S from within emacs.  The emacs
 convention is to name such proceses running under its control as
 `inferior processes'.  This term can be slightly misleading, in which
 * Customizing startup::         
 @end menu
 
-@node Starting up,  Multiple ESS processes, , Interactive ESS
+@node Starting up, Multiple ESS processes, Interactive ESS, Interactive ESS
 @section Starting an ESS process
 @cindex starting ESS
 @cindex running S
 
 
 @comment  node-name,  next,  previous,  up
-@node ESS processes on Remote Computers, Customizing startup, Multiple ESS processes, Interactive ESS
+@node ESS processes on Remote Computers, S+elsewhere and ESS-elsewhere, Multiple ESS processes, Interactive ESS
 @section ESS processes on Remote Computers
 @cindex Remote Computers
 @pindex ess-remote
 language processes.  For SAS you need to use a different command
 @samp{C-c i} (that is a regular @samp{i}, not a @samp{C-i}) to send
 lines from your @file{myfile.sas} to the remote SAS process.
-@samp{C-c i} sends lines over invisibly and lets SAS display them
-formatted correctly as in a SAS log file.
+@samp{C-c i} sends lines over invisibly.
+@c and lets SAS display them formatted correctly as in a SAS log file.
+With ess-remote you get teletype behavior---the data input, the
+log, and the listing all appear in the same buffer.  To make this work,
+you need to end every PROC and DATA step with a "RUN;" statement.  The
+"RUN;" statement is what tells SAS that it should process the preceding
+input statements.
 
 @item Graphics (interactive) on the remote machine.  If you run X11
 (@xref{X11}, X-windows)
 
 
 @comment  node-name,  next,  previous,  up
-@node S+elsewhere and ESS-elsewhere,  , ESS processes on Remote Computers, ESS processes on Remote Computers
+@node S+elsewhere and ESS-elsewhere, Customizing startup, ESS processes on Remote Computers, Interactive ESS
 @section S+elsewhere and ESS-elsewhere
 
-These commands are now deprecated.  We recommend @samp{ess-remote}.
-
-
-We have two versions of the elsewhere function.
-
-@samp{S+elsewhere} is specific for the S-Plus program.
-The more general function @samp{ESS-elsewhere} is not as stable.
+These commands are now deprecated.  We recommend @samp{ess-remote}.  We
+have two versions of the elsewhere function.  @samp{S+elsewhere} is
+specific for the S-Plus program.  The more general function
+@samp{ESS-elsewhere} is not as stable.
 
 @enumerate
 @item Enter @samp{M-x S+elsewhere}.
 
 
 @comment  node-name,  next,  previous,  up
-@node Customizing startup,  , ESS processes on Remote Computers, Interactive ESS
+@node Customizing startup,  , S+elsewhere and ESS-elsewhere, Interactive ESS
 @section Changing the startup actions
 
 If you do not wish ESS to prompt for a starting directory when starting
 variable, customize the variable @code{inferior-ess-own-frame}.
 
 @comment  node-name,  next,  previous,  up
-@node Help for the S family, Help for SAS, Interactive ESS, Top
-@chapter Help for the S family
-@menu
-* ESS(S)--Editing files::
-* iESS(S)--Inferior ESS processes::
-* Handling and Reusing Transcripts::
-* ESS-help--assistance with viewing help::
-* Philosophies for using ESS(S)::
-* Scenarios for use (possibilities--based on actual usage)::
-* Customization Examples and Solutions to Problems::
-@end menu
-@include help-s.texi
-
-@comment  node-name,  next,  previous,  up
-@node Help for SAS, Help for BUGS, Help for the S family, Top
-@chapter Help for SAS
-
-@menu
-* ESS(SAS)--Design philosophy::
-* ESS(SAS)--Editing files::
-* iESS(SAS)--Interactive SAS processes::
-* ESS(SAS)--Batch SAS processes::
-* ESS(SAS)--Function keys for batch processing::
-* ESS(SAS)--TAB key::
-* ESS(SAS)--Usage scenarios::
-* iESS(SAS)--Common problems::
-* ESS(SAS)--MS Windows::
-@end menu
-@include help-sas.texi
-
-@comment  node-name,  next,  previous,  up
-@node Help for BUGS, Entering commands, Help for SAS, Top
-@chapter Help for BUGS
-
-@menu
-* ESS(BUGS)--Model files::
-* ESS(BUGS)--Command files::
-* ESS(BUGS)--Log files::
-@end menu
-@include help-bugs.texi
-
-@comment  node-name,  next,  previous,  up
-@node Entering commands, Editing, Help for BUGS, Top
+@node Entering commands, Transcript Mode, Interactive ESS, Top
 @chapter Interacting with the ESS process
 @cindex entering commands
 @cindex commands
 @noindent
 to make more of the last output visible.  (To make this happen
 automatically for all inputs, set the variable
-@code{comint-scroll-to-bottom-on-input} to @code{t}; for information on
-this and other options for handling process input and output
-@pxref{Shell Options,,Shell Mode Options, emacs, The GNU Emacs Reference
-Manual}.)
+@code{comint-scroll-to-bottom-on-input} to @code{t}.)
 
 If the first part of the output is still obscured, use
 @cindex reading long command outputs
 @pindex objects()
 command to the ESS process.  A prefix argument specifies the
 position on the search list (use a negative argument to toggle
-@code{es-execute-in-process-buffer} as well).  A quick way to see what
+@code{ess-execute-in-process-buffer} as well).  A quick way to see what
 objects are in your working directory.
 @cindex objects
 @pindex objects()
 @ref{Shell Mode,,, emacs, The Gnu Emacs Reference Manual}.
 
 @comment  node-name,  next,  previous,  up
-@node Editing, Help, Entering commands, Top
+@node Transcript Mode, ESS for the S family, Entering commands, Top
+@chapter Manipulating saved transcript files
+
+Inferior @Sl{} mode records the transcript (the list of all commands
+executed, and their output) in the process buffer, which can be saved as
+a @dfn{transcript file}, which should normally have the suffix
+@file{.St}.  The most obvious use for a transcript file is as a static
+record of the actions you have performed in a particular @Sl{} session.
+Sometimes, however, you may wish to re-execute commands recorded in the
+transcript file by submitting them to a running ESS process.  This
+is what Transcript Mode is for.
+
+If you load file a with the suffix @file{.St} into Emacs, it is placed
+in S Transcript Mode.  Transcript Mode is similar to Inferior @Sl{} mode
+(@pxref{Entering commands}):
+@cindex transcript mode motion
+@cindex motion in transcript mode
+paragraphs are defined as a command and its output, and you can move
+though commands either with the paragraph commands or with @kbd{C-c C-p}
+and @kbd{C-c C-n}.
+
+@menu
+* Resubmit::                    Resubmitting commands from the transcript file
+* Clean::                       Cleaning transcript files
+@end menu
+
+@comment  node-name,  next,  previous,  up
+@node Resubmit, Clean, Transcript Mode, Transcript Mode
+@section Resubmitting commands from the transcript file
+
+Three commands are provided to re-submit command lines from the
+transcript file to a running ESS process.  They are:
+
+@itemize @bullet
+@item
+@kbd{RET} (@code{ess-transcript-send-command}) @*
+Send the current command line to the ESS process, and execute it.
+@pindex ess-transcript-send-command
+
+@item
+@kbd{C-c RET} (@code{ess-transcript-copy-command}) @*
+Copy the current command to the ESS process, and switch to the
+ESS process buffer (ready to edit the copied command).
+@pindex ess-transcript-copy-command
+
+@item
+@kbd{M-RET} (@code{ess-transcript-send-command-and-move}) @*
+Send the current command to the ESS process, and move to the next
+command line.  This command is useful for submitting a series of
+commands.
+@end itemize
+
+@noindent
+Note that these commands are similar to those on the same keys in
+Inferior @Sl{} Mode.  In all three cases, the commands should be
+executed when the cursor is on a command line in the transcript; the
+prompt is automatically removed before the command is submitted.
+
+@comment  node-name,  next,  previous,  up
+@node Clean,  , Resubmit, Transcript Mode
+@section Cleaning transcript files
+
+Yet another use for transcript files is to extract the command lines for
+inclusion in an @Sl{} source file or function.  Transcript mode provides
+one command which does just this:
+
+@itemize @bullet
+@item
+@kbd{C-c C-w} (@code{ess-transcript-clean-region}) @*
+Deletes all prompts and command output in the region, leaving only the
+commands themselves.
+@end itemize
+
+@noindent
+The remaining command lines may then be copied to a source file or edit
+buffer for inclusion in a function definition, or may be evaluated
+directly (@pxref{Evaluating code}) using the code evaluation commands
+from @Sl{} mode, also available in @Sl{} Transcript Mode.
+
+
+@comment  node-name,  next,  previous,  up
+@node ESS for the S family, Editing, Transcript Mode, Top
+@chapter ESS for the S family
+@menu
+* ESS(S)--Editing files::
+* iESS(S)--Inferior ESS processes::
+* ESS-help--assistance with viewing help::
+* Philosophies for using ESS(S)::
+* Scenarios for use (possibilities--based on actual usage)::
+* Customization Examples and Solutions to Problems::
+@end menu
+@include help-s.texi
+
+@comment  node-name,  next,  previous,  up
+@node Editing, Editing R documentation files, ESS for the S family, Top
 @chapter Editing S functions
 
 @cindex editing functions
 
 @cindex dump files
 @cindex reverting function definitions
-@strong{Note:} when you dump a file with @kbd{C-c C-d}, ESS first checks
+Note: when you dump a file with @kbd{C-c C-d}, ESS first checks
 to see whether there already exists an edit buffer containing that
 object and, if so, pops you directly to that buffer.  If not, ESS next
 checks whether there is a file in the appropriate place with the
 of the window, you will need to set the variable
 @code{comint-scroll-to-bottom-on-output} to @code{'others} or @code{t}.
 
-*** Maybe a link to customization section here ***
 
 @comment  node-name,  next,  previous,  up
 @node Indenting, Other edit buffer commands, Evaluating code, Editing
 and loop constructs are all recognized and indented appropriately.  User
 variables are provided to control the amount if indentation in each
 case, and there are also a number of predefined indentation styles to
-choose from.  @xref{Indentation variables}.
+choose from.
 
 @cindex comments in S
 Comments are also handled specially by ESS, using an idea borrowed from
 The @code{DEFAULT} style uses the default values for the indenting
 variables (unless they have been modified in your @file{.emacs} file.)
 @cindex @file{.emacs} file
-This command causes all of the formatting variables
-@pxref{Indentation variables} to be buffer-local.
+This command causes all of the formatting variables to be buffer-local.
 @end itemize
 
 @comment  node-name,  next,  previous,  up
 If you choose not to, or the directory cannot be created, you will not
 be able to edit functions.
 
+@node Editing R documentation files, Help, Editing, Top
+@chapter Editing R documentation files
+
+ESS also provides support for editing @dfn{R documentation} (``Rd'')
+files.  @R{} objects are documented in files written in Rd format, a
+simple markup language closely resembling (La)@TeX{}, which can be
+processed into a variety of formats, including La@TeX{}, @acronym{HTML},
+and plain text.  Rd format is described in section ``Rd format'' of the
+``Writing R Extensions'' manual in the R distribution.
+
+Visiting an Rd file as characterized by its extension @file{Rd} will
+activate Rd Mode, which provides several facilities for making editing R
+documentation files more convenient, by helping with indentation,
+insertions, even doing some of the typing for you (with Abbrev Mode),
+and by showing Rd keywords, strings, etc.@: in different faces (with
+Font Lock Mode).
+
+Note that R also accepts Rd files with extension @file{rd}; to activate
+ESS[Rd] support for this extension, you may need to add
+
+@example
+(add-to-list 'auto-mode-alist '("\\.rd\\'" . Rd-mode))
+@end example
+
+@noindent
+to one of your Emacs startup files.
+
+In Rd mode, the following special Emacs commands can be used in addition
+to the standard Emacs commands.
+
+@table @kbd
+@item C-h m
+Describe the features of Rd mode.
+
+@item LFD
+@itemx RET
+Reindent the current line, insert a newline and indent the new line
+(@code{reindent-then-newline-and-indent}).  An abbrev before point is
+expanded if @code{abbrev-mode} is non-@code{nil}.
+
+@item TAB
+Indent current line based on its contents and on previous lines
+(@code{indent-according-to-mode}).
+
+@item C-c C-e
+Insert a ``skeleton'' with Rd markup for at least all mandatory entries
+in Rd files (@code{Rd-mode-insert-skeleton}).  Note that many users
+might prefer to use the R function @code{prompt} on an existing R object
+to generate a non-empty Rd ``shell'' documenting the object (which
+already has all information filled in which can be obtained from the
+object).
+
+@item C-c C-f
+Insert ``font'' specifiers for some of the Rd markup commands markup
+available for emphasizing or quoting text, including markup for URLs and
+email addresses (@code{Rd-font}).  @kbd{C-c C-f} is only a prefix; see
+e.g.@: @kbd{C-c C-f TAB} for the available bindings.  Note that
+currently, not all of the Rd text markup as described in section
+``Marking text'' of ``Writing R Extensions'' can be accessed via
+@kbd{C-c C-f}.
+
+@item C-c C-j
+Insert a suitably indented  @samp{\item@{} on the next line
+(@code{Rd-mode-insert-item}).
+
+@item C-c C-p
+Preview a plain text version (``help file'', @pxref{Help}) generated
+from the Rd file (@code{Rd-preview-help}).
+@end table
+
+In addition, when editing Rd files one can interact with a running R
+process in a similar way as when editing R language files.  E.g.,
+@kbd{C-c C-v} provides access to on-line help, and @kbd{C-c C-n} sends
+the current line to the R process for evaluation.  This interaction is
+particularly useful when editing the examples in the Rd file.  See
+@kbd{C-h m} for all available commands.
+
+Rd mode also provides access to abbreviations for most of the Rd markup
+commands.  Type @kbd{M-x list-abbrevs} with Abbrev mode turned on to
+list all available abbrevs.  Note that all Rd abbrevs start with a grave
+accent.
+
+Rd mode can be customized via the following variables.
+
+@table @code
+@item Rd-mode-hook
+Hook to be run when Rd mode is entered.
+@item Rd-indent-level
+The indentation of Rd code with respect to containing blocks.  Default
+is 2.
+@item Rd-to-help-command
+The shell command used for converting Rd source to help text.  Default
+is @samp{R CMD Rd2txt}.
+@end table
+
+To automatically turn on the abbrev and font-lock features of Rd mode,
+add the following lines to one of your Emacs startup files:
+
+@example
+(add-hook 'Rd-mode-hook
+          (lambda ()
+           (abbrev-mode 1)
+           (font-lock-mode 1)))
+@end example
+
 
 @comment  node-name,  next,  previous,  up
-@node Help, Transcript Mode, Editing, Top
-@chapter Reading help files in ESS
+@node Help, ESS for SAS, Editing R documentation files, Top
+@chapter Reading help files
 @cindex help files
 
 ESS provides an easy-to-use facility for reading @Sl{} help files from
 @cindex temporary buffers
 
 @comment  node-name,  next,  previous,  up
-@node Transcript Mode, Miscellaneous, Help, Top
-@chapter Manipulating saved transcript files
-
-Inferior @Sl{} mode records the transcript (the list of all commands
-executed, and their output) in the process buffer, which can be saved as
-a @dfn{transcript file}, which should normally have the suffix
-@file{.St}.  The most obvious use for a transcript file is as a static
-record of the actions you have performed in a particular @Sl{} session.
-Sometimes, however, you may wish to re-execute commands recorded in the
-transcript file by submitting them to a running ESS process.  This
-is what Transcript Mode is for.
-
-If you load file a with the suffix @file{.St} into Emacs, it is placed
-in S Transcript Mode.  Transcript Mode is similar to Inferior @Sl{} mode
-(@pxref{Entering commands}):
-@cindex transcript mode motion
-@cindex motion in transcript mode
-paragraphs are defined as a command and its output, and you can move
-though commands either with the paragraph commands or with @kbd{C-c C-p}
-and @kbd{C-c C-n}.
+@node ESS for SAS, ESS for BUGS, Help, Top
+@chapter ESS for SAS
 
 @menu
-* Resubmit::                    Resubmitting commands from the transcript file
-* Clean::                       Cleaning transcript files
+* ESS(SAS)--Design philosophy::
+* ESS(SAS)--Editing files::
+* ESS(SAS)--TAB key::
+* ESS(SAS)--Batch SAS processes::
+* ESS(SAS)--Function keys for batch processing::
+* iESS(SAS)--Interactive SAS processes::
+* iESS(SAS)--Common problems::
+* ESS(SAS)--Graphics::
+* ESS(SAS)--MS Windows::
 @end menu
+@include help-sas.texi
 
 @comment  node-name,  next,  previous,  up
-@node Resubmit, Clean, Transcript Mode, Transcript Mode
-@section Resubmitting commands from the transcript file
-
-Three commands are provided to re-submit command lines from the
-transcript file to a running ESS process.  They are:
-
-@itemize @bullet
-@item
-@kbd{RET} (@code{ess-transcript-send-command}) @*
-Send the current command line to the ESS process, and execute it.
-@pindex ess-transcript-send-command
-
-@item
-@kbd{C-c RET} (@code{ess-transcript-copy-command}) @*
-Copy the current command to the ESS process, and switch to the
-ESS process buffer (ready to edit the copied command).
-@pindex ess-transcript-copy-command
-
-@item
-@kbd{M-RET} (@code{ess-transcript-send-command-and-move}) @*
-Send the current command to the ESS process, and move to the next
-command line.  This command is useful for submitting a series of
-commands.
-@end itemize
-
-@noindent
-Note that these commands are similar to those on the same keys in
-Inferior @Sl{} Mode.  In all three cases, the commands should be
-executed when the cursor is on a command line in the transcript; the
-prompt is automatically removed before the command is submitted.
+@node ESS for BUGS, Miscellaneous, ESS for SAS, Top
+@chapter ESS for BUGS
+
+@menu
+* ESS(BUGS)--Model files::
+* ESS(BUGS)--Command files::
+* ESS(BUGS)--Log files::
+@end menu
+@include help-bugs.texi
 
 @comment  node-name,  next,  previous,  up
-@node Clean,  , Resubmit, Transcript Mode
-@section Cleaning transcript files
-
-Yet another use for transcript files is to extract the command lines for
-inclusion in an @Sl{} source file or function.  Transcript mode provides
-one command which does just this:
-
-@itemize @bullet
-@item
-@kbd{C-c C-w} (@code{ess-transcript-clean-region}) @*
-Deletes all prompts and command output in the region, leaving only the
-commands themselves.
-@end itemize
-
-@noindent
-The remaining command lines may then be copied to a source file or edit
-buffer for inclusion in a function definition, or may be evaluated
-directly (@pxref{Evaluating code}) using the code evaluation commands
-from @Sl{} mode, also available in @Sl{} Transcript Mode.
-
-@comment  node-name,  next,  previous,  up
-@node Miscellaneous, Bugs Etc, Transcript Mode, Top
+@node Miscellaneous, Mailing lists/bug reports, ESS for BUGS, Top
 @chapter Other features of ESS
 
 ESS has a few miscellaneous features, which didn't fit anywhere else.
 * Graphics::                    Using graphics with ESS
 * Imenu::                       Support for Imenu in ESS
 * Toolbar::                     Support for toolbar in ESS
-* Object Completion::
 @end menu
 
 @comment  node-name,  next,  previous,  up
 appropriate buffers.  This can be done on a per-buffer basis with
 @kbd{M-x font-lock-mode}, or may be done by adding
 @code{turn-on-font-lock} to @code{inferior-ess-mode-hook},
-@code{ess-mode-hook} and @code{ess-transcript-mode-hook}
-(@pxref{Hooks}).  Your systems administrator may have done this for you
-in @file{ess-site.el} (@pxref{Customization}).
+@code{ess-mode-hook} and @code{ess-transcript-mode-hook}.  Your systems
+administrator may have done this for you in @file{ess-site.el}
+(@pxref{Customization}).
 
 The font-lock patterns are defined in three variables, which you may
 modify if desired:
 DISPLAY before the ESS process is started if the variable
 @code{ess-ask-about-display}
 @pindex ess-ask-about-display
-is non-@code{nil}.  @xref{Variables for starting ESS}, for details of
-this variable.
+is non-@code{nil}.
 
 @comment  node-name,  next,  previous,  up
 @node winjava,  , X11, Graphics
 function definition).
 
 @comment  node-name,  next,  previous,  up
-@node Toolbar, Object Completion,  Imenu, Miscellaneous
+@node Toolbar, , Imenu, Miscellaneous
 @section Toolbar
 
 The R and S editing modes have support for a toolbar.  This toolbar
 to change the toolbar.
 
 
-@comment  node-name,  next,  previous,  up
-@node Object Completion,  , Toolbar, Miscellaneous
-@section Object Completion
-
-
-If you are running S-PLUS or R, you might consider installing the
-database files.  From within Emacs, "C-x d" to the directory
-containing ESS.  Now:
-
-@code{M-x S+3}
-
-(get S-PLUS running.  once you have reached the SPLUS 3.x prompt, do:)
-
-@code{M-x ess-create-object-name-db}
-
-(this will create the file: ess-s+3-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:
-
-@code{M-x R}
-
-(get R running.  once you have reached the R prompt, do:)
-
-@code{M-x ess-create-object-name-db}
-
-(this will create the file: ess-r-namedb.el; if it isn't in the ESS
-directory, move it there).
 
 
 @comment  node-name,  next,  previous,  up@chapter Using S4
-@node Bugs Etc, Customization, Miscellaneous, Top
+@node Mailing lists/bug reports, Customization, Miscellaneous, Top
 @chapter Bugs and Bug Reporting, Mailing Lists
 
 @menu
 * Mailing Lists::
 @end menu
 
-@node Bugs, Reporting Bugs, Bugs Etc, Bugs Etc
+@node Bugs, Reporting Bugs, Mailing lists/bug reports, Mailing lists/bug reports
 @section Bugs
 @cindex bugs
 @include bugs.texi
 
 @comment  node-name,  next,  previous,  up
-@node Reporting Bugs, Mailing Lists, Bugs, Bugs Etc
+@node Reporting Bugs, Mailing Lists, Bugs, Mailing lists/bug reports
 @section Reporting Bugs
 @cindex Bug reports
 @pindex ess-submit-bug-report
 @include bugrept.texi
 
 @comment  node-name,  next,  previous,  up
-@node Mailing Lists,  , Reporting Bugs, Bugs Etc
+@node Mailing Lists,  , Reporting Bugs, Mailing lists/bug reports
 @section Mailing Lists
 
 @include mailing.texi
 
 
 @comment  node-name,  next,  previous,  up
-@node Customization, Key Index, Bugs Etc, Top
+@node Customization, Key Index, Mailing lists/bug reports, Top
 @appendix Customizing ESS
 @cindex customization
 
 
 Most of these variables can be viewed and set using the Custom facility
 within Emacs.  Type @kbd{M-x customize-group RET ess RET} to see all the
-ESS variables that can be customized.
-
-
-@menu
-* Variables::                   Variables for customization
-* Hooks::                       Customizing ESS with hooks
-* Keybindings::                 Changing the default ESS keybindings
-@end menu
-
-@comment  node-name,  next,  previous,  up
-@node Variables, Hooks, Customization, Customization
-@appendixsec Variables for customization
-@cindex variables
-
-ESS is easily customizable by means of setting variables in your
-@file{.emacs} file.
-@cindex @file{.emacs} file
-In most cases, you can change defaults by including lines of the form
-@cindex defaults
-@example
-(setq @var{variable-name} @var{value})
-@end example
-@noindent
-in your @file{.emacs}.
-
-In what follows, variable names will be listed along with their
-descriptions and default values.  Just substitute the variable name and
-the new value into the template above.
-
-@menu
-* Variables for starting ESS::  Variables for starting ESS
-* Dump file variables::         Variables for dump files
-* Indentation variables::       Variables controlling indentation
-* Variables controlling interaction::  Variables controlling interaction
-					with the ESS process
-* Editing assembly files::      Variables for restoring assembly mode
-                                        associations
-@end menu
-
-@comment  node-name,  next,  previous,  up
-@node Variables for starting ESS, Dump file variables, Variables, Variables
-@appendixsubsec Variables for starting ESS
-
-@defvr {User Option} ess-ask-for-ess-directory
-Default: @code{t} @*
-@cindex starting directory
-@cindex directories
-If this variable has a non-@code{nil} value, then every time ESS is
-run with @kbd{M-x S}
-@pindex S
-you will be prompted for a directory to use as the working directory for
-your @Sl{} session; this directory should have a @file{.Data}
-subdirectory.
-@cindex @file{.Data} directory
-If the value of @code{ess-ask-for-ess-directory} is @code{nil}, the
-value of @code{S-directory}
-@vindex S-directory
-is used as the working directory.
-@end defvr
-
-@defvr {User Option} S-directory
-Default: Your home directory @* The working directory for your @Sl{}
-session if @code{ess-ask-for-ess-directory} is @code{nil}, and the
-default when prompting for a directory if it is not.  For example, you
-may wish to set this to the value of the current buffer's working
-directory before starting @Sl{} by adding the following line to your
-@file{.emacs} file (@pxref{Hooks})
-@cindex @file{.emacs} file
-@example
-(setq ess-pre-run-hook
-   '((lambda () (setq S-directory default-directory))))
-@end example
-@end defvr
-
-@defvr {User Option} ess-ask-about-display
-Default: @code{nil} @*
-If this variable has a non-@code{nil} value, then every time ESS is
-run with @kbd{M-x S}
-@pindex S
-you will be asked for a value for the @code{DISPLAY} environment
-variable
-@cindex DISPLAY environment variable
-@cindex environment variables
-to be used in the current @Sl{} session.  If this variable is not set
-correctly, @Sl{} will not be able to create any windows under the X
-windowing environment.
-@cindex X windows
-Completion is provided over the @code{X-displays-list} variable; the
-default is the current value of @code{DISPLAY}.  This feature is useful
-is you often run @Sl{} on a different display than that of the machine you
-are running @Sl{} from.  If
-@code{ess-ask-about-display} is @code{nil}, the current value of
-@code{DISPLAY} is used.
-@end defvr
-
-@defvr {User Option} X-displays-list
-Default: @code{'(":0.0")} @*
-List of possible values for the @code{DISPLAY} environment variable,
-provided for completion when prompting for such a value.
-@end defvr
-
-@comment  node-name,  next,  previous,  up
-@node Dump file variables, Indentation variables, Variables for starting ESS, Variables
-@appendixsubsec Variables for dump files
-
-@defvr {User Option} ess-insert-function-templates
-Default: @code{t} @* If this variable has a non-@code{nil} value, then
-dumping a non-existent object will result in the edit buffer containing
-a skeleton function definition, ready for editing.
-@end defvr
-
-@defvr {User Option} ess-source-directory
-Default: @code{"/tmp/"} @*
-@cindex dump files
-Directory name (ending in @samp{/}) in which dump files are placed.  This
-should always be a writable directory.
-@end defvr
-
-@defvr {User Option} ess-source-directory-generator
-Default: @code{nil} @*
-Alternative, dynamic method of specifying the directory for dump files.
-@end defvr
-
-@defvr {User Option} ess-dump-filename-template
-Default: @var{user_name}@code{.}@var{object_name}@code{.S} @*
-Naming system to use for dumped object files.  @xref{Source Directories},
-for details of this and the previous two variables.
-@end defvr
-
-@defvr {User Option} ess-keep-dump-files
-Default: @code{nil} @*
-Boolean flag signifying whether to keep dump files or to delete them
-after each use.  @xref{Source Files}, for more details.
-@end defvr
-
-@comment  node-name,  next,  previous,  up
-@node Indentation variables, Variables controlling interaction, Dump file variables, Variables
-@appendixsubsec Variables controlling indentation
-@cindex formatting source code
-@cindex indentation
-
-@defvr {User Option} ess-tab-always-indent
-Default: @code{t} @*
-If non-@code{nil}, then @kbd{TAB} in the edit buffer always indents the
-current line, regardless of the position of point in the line.
-Otherwise, indentation is only performed if point is in the lines
-indentation, and a tab character is inserted is point is after the first
-nonblank character.
-@end defvr
-
-@defvr {User Option} ess-auto-newline
-Default: @code{nil} @*
-Non-@code{nil} means automatically newline before and after braces
-inserted in @Sl{} code.
-@end defvr
-
-The following variables control amounts of indentation.  These variables
-automatically become buffer-local in any ESS buffer, and so setting
-any of these variables has effect in the current buffer only.
-
-
-@defvr {User Option} ess-indent-level
-Default: 2 @*
-Extra indentation of @Sl{} statement sub-block with respect to enclosing
-braces.
-@end defvr
-
-@defvr {User Option} ess-brace-imaginary-offset
-Default: 0 @*
-Extra indentation (over sub-block indentation) for block following an
-open brace which follows on the same line as a statement.
-@end defvr
-
-@defvr {User Option} ess-brace-offset
-Default: 0 @*
-Extra indentation for braces, compared with other text in same context.
-@end defvr
-
-@defvr {User Option} ess-continued-statement-offset
-Default: 0 @*
-Extra indent for lines not starting new statements.
-@end defvr
-
-@defvr {User Option} ess-continued-brace-offset
-Default: 0 @*
-Extra indent for substatements that start with open-braces.
-This is in addition to @code{ess-continued-statement-offset}.
-@end defvr
-
-@defvr {User Option} ess-arg-function-offset
-Default: 2 @*
-Extra indent for arguments of function @code{foo} when it is called as
-the value of an argument to another function in
-@code{arg=foo(...)} form.  If not number, the statements are indented at
-open-parenthesis following @code{foo}.
-@end defvr
-
-@defvr {User Option} ess-expression-offset
-Default: 4 @*
-Extra indent for internal substatements of the call to
-@code{expression()} specified in
-@pindex expression()
-@example
-@code{obj <- expression(...)}
-@end example
-@noindent
-form.  If not a number, the statements are indented at open-parenthesis
-following @samp{expression}.
-@end defvr
-
-@defvr {User Option} ess-else-offset
-Default: 2 @*
-Extra indentation of the @code{else} clause with respect to the
-corresponding @code{if}.
-@end defvr
-
-@noindent
-In addition, a number of default styles are defined for you (in
-@code{ess-style-alist}):
-@vindex ess-style-alist
-
-@defvr {User Option} ess-default-style
-Default: @code{DEFAULT} @*
-The default formatting style to use in edit buffers.  The DEFAULT style
-uses the values of the above indentation variables at load-time, so that
-changing these variables in your @file{.emacs} file will affect your
-buffer defaults.  Other styles are:
-@code{GNU}, @code{BSD}, @code{K&R}, @code{CLB}, and @code{C++}.
-See @file{ess-cust.el} for the complete definitions of the styles.
-@xref{Edit buffer}, for more details.
-@end defvr
-
-@comment  node-name,  next,  previous,  up
-@node Variables controlling interaction, Editing assembly files, Indentation variables, Variables
-@appendixsubsec Variables controlling interaction with the ESS process
-
-@defvr {User Option} comint-input-ring-size
-Default: 50 @*
-Number of commands to store in the command history.
-@end defvr
-
-@defvr {User Option} ess-execute-in-process-buffer
-Default: @code{nil} @*
-If this is @code{nil}, then the @code{ess-execute-} commands (@pxref{Other})
-output to a temporary buffer.  Otherwise, the
-output goes to the ESS process.
-@end defvr
-
-@defvr {User Option} ess-eval-visibly-p
-Default: @code{nil} @*
-If non-@code{nil}, then the @code{ess-eval-} commands (@pxref{Edit
-buffer}) echo the @Sl{} commands in the process buffer by default.  In any
-case, passing a prefix argument to the eval command reverses the meaning
-of this variable.
-@end defvr
-
-@comment  node-name,  next,  previous,  up
-@node Editing assembly files, , Variables controlling interaction, Variables
-@appendixsubsec Variables for restoring assembly mode associations
-
-@defvr {User Option} auto-mode-alist
-Association list mapping file extensions to emacs modes.
-@end defvr
-
-@cindex Assembler mode
-@vindex auto-mode-alist
-@vindex ess-restore-asm-extns
-If you edit assembler files but not S files, you may want to retain
-the default mode for the .s and .S extensions, namely assembler
-mode.  ESS provides a function, @code{ess-restore-asm-extns} that you
-can use to restore default behavior for these files.
-
-You can add the following lisp to your @file{.emacs}:
-@example
-(add-hook 'ess-mode-hook 'ess-restore-asm-extns)
-(add-hook 'inferior-ess-mode-hook 'ess-restore-asm-extns)
-@end example
-@noindent
-This code removes the association between .s and .S files and S
-mode.
-
-@comment  node-name,  next,  previous,  up
-@node Hooks, Keybindings, Variables, Customization
-@appendixsec Customizing ESS with hooks
-@cindex hooks
-
-ESS provides the following hooks:
-
-@defvr {Hook} ess-mode-hook
-Called every time @code{ESS} is run.
-@end defvr
-
-@defvr {Hook} ess-mode-load-hook
-Called just after the file @file{ess.el} is loaded.  Useful for setting
-up your keybindings, etc.
-@end defvr
-
-@defvr {Hook} ess-pre-run-hook
-Called before the ESS process is started (e.g., with @kbd{M-x S}).
-Good for setting up your directory.
-@c ? @pindex S
-@end defvr
-
-@defvr {Hook} ess-post-run-hook
-Called just after the ESS process starts up.  This can be used to
-evaluate ESS code at the start of a session, with
-@code{ess-eval-visibly}, say.
-@end defvr
-
-
-@defvr {Hook} inferior-ess-mode-hook
-For customizing inferior ESS mode.  Called after inferior-ess-mode is
-entered and variables have been initialized.
-@end defvr
-
-@defvr {Hook} ess-help-mode-hook
-Called every time when entering ess-help-mode (i.e., an ESS help
-buffer is generated).
-@end defvr
-
-@defvr {Hook} ess-send-input-hook
-Called just before line input is sent to the process.
-@end defvr
-
-@defvr {Hook} ess-transcript-mode-hook
-For customizing ESS transcript mode.
-@end defvr
-
-
-@node Keybindings,  , Hooks, Customization
-@appendixsec Changing the default ESS keybindings
-
-ESS provides a separate keymaps (keymap variables) for ESS process
-buffers, edit buffers and for help buffers.  The key bindings in the
-edit buffers further depend on the language and dialect in use.
-
-@defvr {Keymap} inferior-ess-mode-map
-@vindex comint-mode-map
-Keymap used in the ESS process buffer.  The bindings from
-@code{comint-mode-map} are automatically inherited.
-@end defvr
-
-@defvr {Keymap} ess-mode-map
-Keymap used within edit (ess-mode) buffers.
-@end defvr
-
-@defvr {Keymap} ess-eval-map
-Keymap used within edit buffers for sending ESS code to the running
-process.
-@end defvr
-
-@defvr {Keymap} ess-help-mode-map
-Keymap used within help buffers.  In addition, @code{ess-help-sec-map}
-is the keymap for the @samp{s} prefix key.  Keys defined in
-@code{ess-help-sec-keys-alist} are automatically inserted into this
-keymap
-@vindex ess-help-sec-keys-alist
-when ESS is loaded.
-@end defvr
-
-@defvr {Keymap} ess-transcript-mode-map
-Keymap used within ESS transcript buffers.
-@end defvr
-
+ESS variables that can be customized.  Variables are grouped by subject
+to make it easy to find related variables.
+
+@c Stephen deleted incomplete variable list Wed 25 Aug 2004.
 
 @node Key Index, Concept Index, Customization, Top
 @unnumbered Key (Character) Index

texi/getting.texi

 The latest version of ESS is always available on the web at:
-@uref{http://www.analytics.washington.edu/downloads/ess/, ESS web page} or
+@uref{http://ess.r-project.org, ESS web page} or
 @uref{http://lib.stat.cmu.edu/general/ESS/, StatLib}
 
-@include inst_cvs.texi
+@include inst_svn.texi
 

texi/help-bugs.texi

 commands is also supported.
 
 @comment  node-name,  next,  previous,  up
-@node ESS(BUGS)--Model files, ESS(BUGS)--Command files, Help for BUGS, Help for BUGS
+@node ESS(BUGS)--Model files, ESS(BUGS)--Command files, ESS for BUGS, ESS for BUGS
 @section ESS[BUGS]--Model files
 
 Model files (with the .bug extension) are edited in ESS[BUGS] mode.  Two keys 
 each press of F12 if you re-visit the model file.
 
 @comment  node-name,  next,  previous,  up
-@node ESS(BUGS)--Command files, ESS(BUGS)--Log files, ESS(BUGS)--Model files, Help for BUGS
+@node ESS(BUGS)--Command files, ESS(BUGS)--Log files, ESS(BUGS)--Model files, ESS for BUGS
 @section ESS[BUGS]--Command files
 
 To avoid extension name collision, .bmd is used for BUGS command files.  When
 which defaults to 32.
 
 @comment  node-name,  next,  previous,  up
-@node ESS(BUGS)--Log files, , ESS(BUGS)--Command files, Help for BUGS
+@node ESS(BUGS)--Log files, , ESS(BUGS)--Command files, ESS for BUGS
 @section ESS[BUGS]--Log files
 
 To avoid extension name collision, .bog is used for BUGS log files.  The BUGS
-@comment @comment  node-name,  next,  previous,  up
-@comment @node emacs--General features, ESS(S)--Editing files, , Help for the S family
-@comment @section emacs--General features
-@comment 
-@comment We assume that you are familiar with Emacs terminology and syntax:
-@comment file, buffer, region, description of keys etc.  If not, please read
-@comment the New Users guide (found in the info pages, "C-h i" (by pressing
-@comment control h, i) or Tutorial, "C-h t").
-@comment 
-@comment To find the key-sequences for commands, view the keymap (C-h b) or
-@comment view help for the current mode (C-h m).
-
-@node ESS(S)--Editing files, iESS(S)--Inferior ESS processes, , Help for the S family
+@node ESS(S)--Editing files, iESS(S)--Inferior ESS processes, , ESS for the S family
 @comment  node-name,  next,  previous,  up
 @section ESS[S]--Editing files
 
 will have to start up an inferior process to take advantage of the
 interactive features.
 
-@node iESS(S)--Inferior ESS processes, Handling and Reusing Transcripts, ESS(S)--Editing files, Help for the S family
+@node iESS(S)--Inferior ESS processes, ESS-help--assistance with viewing help, ESS(S)--Editing files, ESS for the S family
 @comment  node-name,  next,  previous,  up
 @section  iESS[S]--Inferior ESS processes
 iESS (inferior ESS) is the mode for interfacing with active
 @example
    M-x S+3 
    M-x S4
+   M-x S+5
+   M-x S+6
    M-x R
 @end example
 
-(for S-PLUS 3.x, S4, and R, respectively.  This assumes that you have
-access to each).  Usually the site will have defined one of these programs
-(by default S+3) to the simpler name:
+(for S-PLUS 3.x, S4, S+5, S+6 and R, respectively.  This assumes that
+you have access to each).  Usually the site will have defined one of
+these programs (by default S+6) to the simpler name:
 
    M-x S
 
+In the (rare) case that you wish to pass command line arguments to the
+starting S+6 process, set the variable @code{inferior-Splus-args}.
+
 Note that R has some extremely useful command line arguments.  For
 example, @code{--vanilla} will ensure R starts up without loading in any init
 files.  To enter a command line argument, call R using a "prefix
 
    @code{--vanilla}
 
-Then that R process will be started up using @code{R --vanilla}.
+Then that R process will be started up using @code{R --vanilla}.  If you
+wish to always call R with certain arguments, set the variable
+@code{inferior-R-args} accordingly.
 
+@comment Menubar access to other versions of R and Sqpe
 
-Menubar access to other versions of R and Sqpe
+If you have other versions of R or S-Plus available on the system, ESS
+is also able to start those versions.  How this works depend on which OS
+you are using:
 
-If you have other versions of R or S-Plus available on the system, ESS is also
-able to start those versions.  
 
 R on Unix systems:
 If you have "R-1.8.1" on
 which defuns have been created for starting different versions of R,
 type @kbd{M-x R-} and then hit [Tab].  You will then see if any defuns
 for particular versions of R have been created.  These other versions of
-R can also be started from the "ESS / Start Process / Other" menu.
+R can also be started from the "ESS->Start Process->Other" menu.
 
 R on Windows systems: 
 If you have "rw1081" on
 which defuns have been created for starting different versions of R,
 type @kbd{M-x rw} and then hit [Tab].  You will then see if any defuns
 for particular versions of R have been created.  These other versions of
-R can also be started from the "ESS / Start Process / Other" menu.
+R can also be started from the "ESS->Start Process->Other" menu.
 
 Sqpe (S-Plus running inside an emacs buffer) on Windows systems:
 If you have an older version of S-Plus (S-Plus 6.1 for example) on your system,
 which defuns have been created for starting different versions of S-Plus,
 type @kbd{M-x spl} and then hit [Tab].  You will then see if any defuns
 for particular versions of S-Plus have been created.  These other versions of
-S-Plus can also be started from the "ESS / Start Process / Other" menu.
+S-Plus can also be started from the "ESS->Start Process->Other" menu.
 
-New for ESS 5.1.2 (and later):  "S-elsewhere" command
 
-  The idea of "M-x S-elsewhere" is that we open a telnet (or rlogin)
-  to another machine, call the buffer "*S-elsewhere*", and then run S
-  on the other machine in that buffer.  We do that by defining "sh" as
-  the inferior-S-elsewhere-program-name.  Emacs sets it up in a
-  "*S-elsewhere*" iESS buffer.  The user does a telnet or login from
-  that buffer to the other machine and then starts S on the other
-  machine.  The usual C-c C-n commands from myfile.s on the local
-  machine get sent through the buffer "*S-elsewhere*" to be executed
-  by S on the other machine.
-                           
-@node Handling and Reusing Transcripts, ESS-help--assistance with viewing help, iESS(S)--Inferior ESS processes, Help for the S family
-@comment  node-name,  next,  previous,  up
-@section Handling and Reusing Transcripts
-
-- edit transcript.
-
-- color and font highlighting based on syntax.
-
-- resubmit multi-line commands to an active process buffer.
-
-- The ability to request help from an S process for variables and
-  functions, and to have the results sent into a separate buffer.
-
-- ability to switch between processes which would be the target of the 
-  buffer (for the above).
-
-@node ESS-help--assistance with viewing help, Philosophies for using ESS(S), Handling and Reusing Transcripts, Help for the S family
+@node ESS-help--assistance with viewing help, Philosophies for using ESS(S),iESS(S)--Inferior ESS processes,ESS for the S family
 @comment  node-name,  next,  previous,  up
 @section ESS-help--assistance with viewing help
 
 ESS has built-in facilities for viewing help files from S.  @xref{Help}.
 
 
-@node Philosophies for using ESS(S), Scenarios for use (possibilities--based on actual usage), ESS-help--assistance with viewing help, Help for the S family
+@node Philosophies for using ESS(S), Scenarios for use (possibilities--based on actual usage), ESS-help--assistance with viewing help, ESS for the S family
 @section Philosophies for using ESS[S]
 
 The first is preferred, and configured for.  The second one can be
 The second saves a small amount of disk space.  The first allows for
 better portability as well as external version control for code.
 
-@node Scenarios for use (possibilities--based on actual usage), Customization Examples and Solutions to Problems, Philosophies for using ESS(S), Help for the S family
+@node Scenarios for use (possibilities--based on actual usage), Customization Examples and Solutions to Problems, Philosophies for using ESS(S),ESS for the S family
 @section Scenarios for use (possibilities--based on actual usage)
 
 We present some basic suggestions for using ESS to interact with S.
 @end display
 
 
-@node Customization Examples and Solutions to Problems, ,Scenarios for use (possibilities--based on actual usage), Help for the S family
+@node Customization Examples and Solutions to Problems,  , Scenarios for use (possibilities--based on actual usage),ESS for the S family
 @section Customization Examples and Solutions to Problems
 
 1. Suppose that you are primarily an SPLUS 3.4 user, occasionally

texi/help-sas.texi

 and the SAS Display Manager.
 
 @comment  node-name,  next,  previous,  up
-@node ESS(SAS)--Design philosophy, ESS(SAS)--Editing files, Help for SAS, Help for SAS
+@node ESS(SAS)--Design philosophy, ESS(SAS)--Editing files, ESS for SAS, ESS for SAS
 @section ESS[SAS]--Design philosophy
 
 ESS[SAS] was designed to aid the user in writing and maintaining
 advanced ESS[SAS] users.
 
 @comment  node-name,  next,  previous,  up
-@node ESS(SAS)--Editing files, iESS(SAS)--Interactive SAS processes, ESS(SAS)--Design philosophy, Help for SAS
+@node ESS(SAS)--Editing files, ESS(SAS)--TAB key, ESS(SAS)--Design philosophy, ESS for SAS
 @section ESS[SAS]--Editing files
 
 ESS[SAS] is the mode for editing SAS language files.  This mode handles:
 BY).
 
 @comment  node-name,  next,  previous,  up
-@node  iESS(SAS)--Interactive SAS processes, ESS(SAS)--Batch SAS processes, ESS(SAS)--Editing files, Help for SAS
-@section iESS[SAS]--Interactive SAS processes
+@node  ESS(SAS)--TAB key, ESS(SAS)--Batch SAS processes, ESS(SAS)--Editing files, ESS for SAS
+@section ESS[SAS]--TAB key
 
-iESS (inferior ESS) is the method for interfacing with interactive
-statistical processes (programs).  iESS[SAS] is what is needed for
-interactive SAS programming.  iESS[SAS] works best
-with the following settings for SAS command-line options 
-(the default of inferior-SAS-args):
-
+Two options.  The TAB key is bound by default to sas-indent-line.  This
+function is used to syntactically indent SAS code so PROC and RUN are in
+the left margin, other statements are indented 4 spaces from the margin,
+continuation lines are indented 4 spaces in from the beginning column of
+that statement.  This is the type of functionality that emacs provides
+in most programming language modes.  This functionality is equivalent to
+uncommenting the following line in ess-site.el:
 @example
--stdio -linesize 80 -noovp -nosyntaxcheck
+(setq ess-sas-edit-keys-toggle nil)
 @end example
 
-@display
--stdio          
-            required to make the redirection of stdio work
--linesize 80    
-            keeps output lines from folding on standard terminals
--noovp          
-            prevents error messages from printing 3 times
--nosyntaxcheck  
-            permits recovery after syntax errors
-@end display
-
-To start up iESS[SAS] mode, use:
+ESS provides an alternate behavior for the TAB key that makes it behave
+as it does in SAS Display Manager, i.e. move the cursor to the next tab
+stop.  The alternate behavior also provides a backwards TAB, C-TAB, that
+moves the cursor to the tab stop to the left and deletes any characters
+between them.  This functionality is obtained by uncommenting the
+following line in ess-site.el:
 @example
-   M-x SAS
+(setq ess-sas-edit-keys-toggle t)
 @end example
-
-The *SAS:1.log* buffer in ESStr mode corresponds to the file
-myfile.log in SAS batch usage and to the "SAS: LOG" window in the SAS
-Display Manager.  All commands submitted to SAS, informative
-messages, warnings, and errors appear here.
-
-The *SAS:1.lst* buffer in ESSlst mode corresponds to the file
-myfile.lst in SAS batch usage and to the "SAS: OUTPUT" window in the
-SAS Display Manager.  All data related printed output from the
-PROCs appear in this window.
-
-The iESS [SAS:1] buffer exists solely as a communications buffer.
-Files are edited in the myfile.sas buffer.  The C-c C-r key in
-ESS[SAS] is the functional equivalent of bringing a file into the
-"SAS: PROGRAM EDITOR" window followed by the 'Local' 'Submit' menu
-commands.  The user should never use this buffer directly.
-
-@c DANGER Will Robinson!
-@c We plan to add
-@c @display
-@c - The ability to request help from a process for variables and
-@c   functions, and to have the results sent into a separate buffer.
-@c - completion of object names and file names.
-@c @end display
-
-Troubleshooting: @xref{iESS(SAS)--Common problems}.
+Under the alternate behavior, the TAB key is bound to tab-to-tab-stop
+and the tab stops are set at multiples of sas-indent-width.
 
 @comment  node-name,  next,  previous,  up
-@node  ESS(SAS)--Batch SAS processes, ESS(SAS)--Function keys for batch processing, iESS(SAS)--Interactive SAS processes, Help for SAS
+@node  ESS(SAS)--Batch SAS processes, ESS(SAS)--Function keys for batch processing, ESS(SAS)--TAB key, ESS for SAS
 @section ESS[SAS]--Batch SAS processes
 
 Submission of a SAS batch job is dependent on your environment.
 (setq ess-sleep-for 0.2)
 @end example
 
+For example, open the file you want to work with 
+(ess-sas-global-unix-keys keys shown, ess-sas-global-pc-keys in 
+parentheses; ESS[SAS] function keys are presented in the next section).
+@example
+C-x C-f myfile.sas
+@end example
+myfile.sas will be in ESS[SAS] mode.  Edit as appropriate, then save and 
+submit the batch SAS job.
+@example
+F3 (F8)
+@end example
+The job runs in the shell buffer while you continue to edit 
+myfile.sas.  If ess-sas-submit-method is 'sh, then the 
+message buffer will display the shell notification when the 
+job is complete.  The 'sh setting also allows you to 
+terminate the SAS batch job before it is finished.
+@example
+F8 (F3)
+@end example
+Terminating a SAS batch in the *shell* buffer.
+@example
+kill %1
+@end example
+You may want to visit the .log (whether the job is still running 
+or it is finished) and check for error messages.  The .log will be
+refreshed and you will be placed in it's buffer.  You will be 
+taken to the 1st error message, if any.  
+@example
+F5 (F6)
+@end example
+Goto the next error message, if any.
+@example
+F5 (F6)
+@end example
+Now, refresh the .lst and go to it's buffer.
+@example
+F6 (F7)
+@end example
+If you wish to make changes, go to the .sas file with.
+@example
+F4 (F5)
+@end example
+Make your editing changes and submit again.
+@example
+F3 (F8)
+@end example
+
 @comment  node-name,  next,  previous,  up
-@node  ESS(SAS)--Function keys for batch processing, ESS(SAS)--TAB key, ESS(SAS)--Batch SAS processes, Help for SAS
+@node  ESS(SAS)--Function keys for batch processing, iESS(SAS)--Interactive SAS processes, ESS(SAS)--Batch SAS processes, ESS for SAS
 @section ESS[SAS]--Function keys for batch processing
 
 The setup of function keys for SAS batch processing
 (define-key sas-mode-local-map [(control f2)] 'ess-sas-rtf-a4-landscape)
 @end example
 
+
 @comment  node-name,  next,  previous,  up
-@node  ESS(SAS)--TAB key, ESS(SAS)--Usage scenarios, ESS(SAS)--Function keys for batch processing, Help for SAS
-@section ESS[SAS]--TAB key
+@node  iESS(SAS)--Interactive SAS processes, iESS(SAS)--Common problems, ESS(SAS)--Function keys for batch processing, ESS for SAS
+@section iESS[SAS]--Interactive SAS processes
 
-Two options.  The TAB key is bound by default to sas-indent-line.  This
-function is used to syntactically indent SAS code so PROC and RUN are in
-the left margin, other statements are indented 4 spaces from the margin,
-continuation lines are indented 4 spaces in from the beginning column of
-that statement.  This is the type of functionality that emacs provides
-in most programming language modes.  This functionality is equivalent to
-uncommenting the following line in ess-site.el:
+iESS (inferior ESS) is the method for interfacing with interactive
+statistical processes (programs).  iESS[SAS] is what is needed for
+interactive SAS programming.  iESS[SAS] works best
+with the following settings for SAS command-line options 
+(the default of inferior-SAS-args):
+
 @example
-(setq ess-sas-edit-keys-toggle nil)
+-stdio -linesize 80 -noovp -nosyntaxcheck
 @end example
 
-ESS provides an alternate behavior for the TAB key that makes it behave
-as it does in SAS Display Manager, i.e. move the cursor to the next tab
-stop.  The alternate behavior also provides a backwards TAB, C-TAB, that
-moves the cursor to the tab stop to the left and deletes any characters
-between them.  This functionality is obtained by uncommenting the
-following line in ess-site.el:
+@display
+-stdio          
+            required to make the redirection of stdio work
+-linesize 80    
+            keeps output lines from folding on standard terminals
+-noovp          
+            prevents error messages from printing 3 times
+-nosyntaxcheck  
+            permits recovery after syntax errors
+@end display
+
+To start up iESS[SAS] mode, use:
 @example
-(setq ess-sas-edit-keys-toggle t)
-@end example
-Under the alternate behavior, the TAB key is bound to tab-to-tab-stop
-and the tab stops are set at multiples of sas-indent-width.
-
-@comment  node-name,  next,  previous,  up
-@node   ESS(SAS)--Usage scenarios, iESS(SAS)--Common problems, ESS(SAS)--TAB key, Help for SAS
-@section ESS[SAS]--Usage scenarios
-
-We present a batch and an interactive scenario for using ESS with SAS.  
-The remarks with respect to graphics apply to either with exceptions noted.
-
-Graphics
-
-Output from GPROCs can be displayed in a SAS/Graph window for SAS batch
-on Windows or for both SAS batch and interactive with X11 on Unix.  If
-you need to create graphics files and view them with F12, then include
-the following in myfile.sas (for F12 to work the FILENAME statement must
-be in myfile.sas, but the GOPTIONS statement can be in your
-autoexec.sas):
-@example
-filename gsasfile 'graphics.ps'; 
-goptions device=ps gsfname=gsasfile gsfmode=append; 
-@end example
-PROC PLOT graphs can be viewed in the listing buffer.  You may
-wish to control the vertical spacing to allow the entire plot
-to be visible on screen, for example:
-@example
-proc plot;
-    plot a*b / vpos=25;
-run;
+   M-x SAS
 @end example
 
-SAS Batch (ess-sas-global-unix-keys keys shown, ess-sas-global-pc-keys in 
-parentheses).
+The *SAS:1.log* buffer in ESStr mode corresponds to the file
+myfile.log in SAS batch usage and to the "SAS: LOG" window in the SAS
+Display Manager.  All commands submitted to SAS, informative
+messages, warnings, and errors appear here.
 
-Open the file you want to work with.  
-@example
-C-x C-f myfile.sas
-@end example
-myfile.sas will be in ESS[SAS] mode.  Edit as appropriate, then save and 
-submit the batch SAS job.
-@example
-F3 (F8)
-@end example
-The job runs in the shell buffer while you continue to edit 
-myfile.sas.  If ess-sas-submit-method is 'sh, then the 
-message buffer will display the shell notification when the 
-job is complete.  The 'sh setting also allows you to 
-terminate the SAS batch job before it is finished.
-@example
-F8 (F3)
-@end example
-Terminating a SAS batch in the *shell* buffer.
-@example
-kill %1
-@end example
-You may want to visit the .log (whether the job is still running 
-or it is finished) and check for error messages.  The .log will be
-refreshed and you will be placed in it's buffer.  You will be 
-taken to the 1st error message, if any.  
-@example
-F5 (F6)
-@end example
-Goto the next error message, if any.
-@example
-F5 (F6)
-@end example
-Now, refresh the .lst and go to it's buffer.
-@example
-F6 (F7)
-@end example
-If you wish to make changes, go to the .sas file with.
-@example
-F4 (F5)
-@end example
-Make your editing changes and submit again.
-@example
-F3 (F8)
-@end example
+The *SAS:1.lst* buffer in ESSlst mode corresponds to the file
+myfile.lst in SAS batch usage and to the "SAS: OUTPUT" window in the
+SAS Display Manager.  All data related printed output from the
+PROCs appear in this window.
 
-Interactive SAS
+The iESS [SAS:1] buffer exists solely as a communications buffer.
+Files are edited in the myfile.sas buffer.  The C-c C-r key in
+ESS[SAS] is the functional equivalent of bringing a file into the
+"SAS: PROGRAM EDITOR" window followed by the 'Local' 'Submit' menu
+commands.  The user should never use this buffer directly.
 
-Open the file you want to work with.
+For example, open the file you want to work with.
 @example
 C-x C-f myfile.sas
 @end example
 never need to read it or write to it.  Refer to the .lst and
 .log buffers for monitoring output!
 
+@c DANGER Will Robinson!
+@c We plan to add
+@c @display
+@c - The ability to request help from a process for variables and
+@c   functions, and to have the results sent into a separate buffer.
+@c - completion of object names and file names.
+@c @end display
+
+Troubleshooting: @xref{iESS(SAS)--Common problems}.
+
 @comment  node-name,  next,  previous,  up
-@node   iESS(SAS)--Common problems, ESS(SAS)--MS Windows, ESS(SAS)--Usage scenarios, Help for SAS
+@node   iESS(SAS)--Common problems, ESS(SAS)--Graphics, iESS(SAS)--Interactive SAS processes, ESS for SAS
 @section iESS[SAS]--Common problems
 
 @display
 @end display
 
 @comment  node-name,  next,  previous,  up
-@node   ESS(SAS)--MS Windows, , iESS(SAS)--Common problems, Help for SAS
+@node   ESS(SAS)--Graphics, ESS(SAS)--MS Windows, iESS(SAS)--Common problems, ESS for SAS
+@section ESS[SAS]--Graphics
+
+Output from GPROCs can be displayed in a SAS/Graph window for SAS batch
+on Windows or for both SAS batch and interactive with X11 on Unix.  If
+you need to create graphics files and view them with F12, then include
+the following (either in myfile.sas or in your autoexec.sas):
+@example
+filename gsasfile 'graphics.ps'; 
+goptions device=ps gsfname=gsasfile gsfmode=append; 
+@end example
+PROC PLOT graphs can be viewed in the listing buffer.  You may
+wish to control the vertical spacing to allow the entire plot
+to be visible on screen, for example:
+@example
+proc plot;
+    plot a*b / vpos=25;
+run;
+@end example
+
+@comment  node-name,  next,  previous,  up
+@node   ESS(SAS)--MS Windows, , ESS(SAS)--Graphics, ESS for SAS
 @section ESS[SAS]--MS Windows
 
 @itemize @bullet

texi/inst_tar.texi

 
 @item
 Retrieve the latest version from 
-@uref{http://www.analytics.washington.edu/downloads/ess/ess-VERSION.tar.gz, gzipped tar file } 
+@uref{http://ess.r-project.org/downloads, ESS downloads area}
 to ESSDIR.
 
 @item
 
 @end enumerate
 
+@c >>>> FIXME (see comment in ess.texi): error in ``makeinfo readme.texi''
+@c @node Microsoft Windows installation, , Unix installation, Installation
 @node Microsoft Windows installation, Requirements, Unix installation, Installation
 @comment  node-name,  next,  previous,  up
 @section Microsoft Windows installation

texi/newfeat.texi

+Changes/New Features in 5.2.3:
+@itemize @bullet
+@item 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 so Windows users will need to have Cygwin or something like it.
+@end itemize
+
+Changes/New Features in 5.2.3:
+@itemize @bullet
+@item 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.
+@item New variables inferior-Splus-args and inferior-R-args provide a
+way to pass command line arguments to starting S and R processes.
+@end itemize
+
 Changes/New Features in 5.2.2:
 @itemize @bullet
 @item bug-fixes for 5.2.1 (require 'executable), html docs, etc.
 @itemize @bullet
 @item Besides info documentation, PDF and HTML
 documentation are also provided (instead of built using "make") and available
-on the web as well; see @uref{http://software.biostat.washington.edu/ess/doc,
+on the web as well; see @uref{http://ess.r-project.org/,
  ESS web page} and @uref{http://lib.stat.cmu.edu/general/ESS/doc, StatLib}
 @item Now that info documentation is available, the
 README.* files are no longer supported.  However, they
 @setfilename readme.info
 @settitle ESS --- Emacs Speaks Statistics
 @comment %**end of header
-@comment $Id$
 
-@node General Information
+@node General Information, , (dir), (dir)
 @comment  node-name,  next,  previous,  up
 @chapter General Information: README
 @cindex README
 extensions to S-mode and SAS-mode as well as a consistent union of their
 features in one package.
 
-The current development team is led by A.J. (Tony) Rossini
-(@email{rossini@@biostat.washington.edu}), who did the initial port to
+The current development team is led by Martin Maechler since August
+2004. Former project leader A.J. (Tony) Rossini
+(@email{rossini@@blindglobe.net}) did the initial port to
 XEmacs and has been the primary coder.  Martin Maechler
 (@email{maechler@@stat.math.ethz.ch}) and Kurt Hornik
 (@email{hornik@@ci.tuwien.ac.at}) have assisted with S-PLUS, S4, R, and
-XLispStat.  Richard M. Heiberger (@email{rmh@@temple.edu}) has 
+XLispStat.  Stephen Eglen (@email{stephen@@gnu.org}) has worked mostly
+on R support.  Richard M. Heiberger (@email{rmh@@temple.edu}) has
 assisted with S-PLUS and S4 development for Windows.  Richard and 
 Rodney A. Sparapani (@email{rsparapa@@mcw.edu}) have done much of the work 
 implementing interactive SAS (iESS[SAS]) and batch SAS (ESS[SAS]) support.  
 * Stability::
 * Requirements::
 * Latest Version::
-* Installation (from tar file)::
+* Installation::
 * Reporting Bugs::
 * Mailing Lists::
 * Authors::
 
 @include requires.texi
 
-@node Latest Version, Installation (from tar file), Requirements, General Information
+@node Latest Version, Installation, Requirements, General Information
 @comment  node-name,  next,  previous,  up
 @section Getting the Latest Version
 
 @include getting.texi
-@c NOTE: The above INCLUDES inst_cvs.texi (CVS Installation)
+@c NOTE: The above INCLUDES inst_svn.texi (Subversion/SVN Installation)
 
-@node Installation (from tar file), Reporting Bugs, Latest Version, General Information
+@c    vvvvvvvvvvvv node name  *must* match the one in ./ess.texi !
+@node Installation, Reporting Bugs, Latest Version, General Information
 @comment  node-name,  next,  previous,  up
 @section Installation (from tar file)
 
 @include inst_tar.texi
 
-@node Reporting Bugs, Mailing Lists, Installation (from tar file), General Information
+@node Reporting Bugs, Mailing Lists, Installation, General Information
 @comment  node-name,  next,  previous,  up
 @section Reporting Bugs