0.1 Introduction
================

0.2 S-PLUS use
==============

0.3 SAS use
===========

[SAS] was designed for use with .  It is descended from emacs macros
developed by John Sall for editing  programs and `SAS-mode' by Tom
Cook.  Those editing features and new advanced features are part of
[SAS].  The user interface of [SAS] has similarities with [S] and the
Display Manager.

0.4 ESS[SAS]-Design philosophy
==============================

[SAS] was designed to aid the user in writing and maintaining
programs, such as `FOO.sas'.  Both interactive and batch submission of
programs is supported.

   [SAS] was written with two primary goals.
  1. The emacs text editor provides a powerful and flexible development
     environment for programming languages.  These features are a boon
     to all programmers and, with the help of [SAS], to  users as well.

  2. Although a departure from  Display Manager, [SAS] provides similar
     key definitions to give novice [SAS] users a head start.  Also,
     inconvenient  Display Manager features, like remote submission and
     syntax highlighting, are provided transparently; appealing to
     advanced [SAS] users.

0.5 ESS[SAS]-Editing files
==========================

[SAS] is the mode for editing  language files.  This mode handles:

   * proper indenting, generated by both <TAB> and <RET>.

   * color and font choices based on syntax.

   * ability to save and submit the file you are working on as a batch
     process with a single keypress and to continue editing while it is
     runs in the background.

   * capability of killing the batch  process through the `*shell*'
     buffer or allow the  process to keep on running after you exit
     emacs.

   * single keypress navigation of `.sas', `.log' and `.lst' files
     (`.log' and `.lst' files are refreshed with each keypress).

   * ability to send the contents of an entire buffer, a highlighted
     region, or a single line to an interactive  process.

   * ability to switch between processes which would be the target of
     the buffer (for the above).

   [SAS] is automatically turned on when editing a file with a `.sas'
suffix (or other extension, if specified via `auto-mode-alist').  The
function keys can be enabled to use the same function keys that the
Display Manager does.  The interactive capabilities of  require you to
start an inferior  process with M-x SAS (see iESS(SAS)--Interactive SAS processes.)

   At this writing, the indenting and syntax highlighting are generally
correct.  Known issues: for multiple line `*' or `%*' comments, only the
first line is highlighted; for `.log' files, only the first line of a
`NOTE:', `WARNING:' or `ERROR:' message is highlighted; unmatched
single/double quotes in `CARDS' data lines are *NOT* ignored; in an
iterative `DO' statement, `TO' and `BY' are not highlighted.

0.6 ESS[SAS]-<TAB> key
======================

Two options.  The <TAB> key is bound by default to `sas-indent-line'.
This function is used to syntactically indent  code so `PROC' and `RUN'
are in the left margin, other statements are indented
`sas-indent-width' spaces from the margin, continuation lines are
indented `sas-indent-width' 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 activated by
placing the following line in your initialization file prior to a
`require'/`load':
     (setq ess-sas-edit-keys-toggle nil)