;
                                  SALIAS.COM                                  

             Size (recs) CRC   Version    Author/Latest Issue      Disk
               8k (62)   0493  1.50       Rob Friefeld 11/90       Z3COM19

  1- Syntax  2- File Mode  3- Edit Mode  4- Notes  5- Err Msgs  6- Examples   



   SALIAS creates and modifies alias files with the convenience of full screen
editing.  It requires  TCAP support for CLS, EREOL, and an addressable cursor.
The user's CRT must have  at least  79 columns by 6 lines.  Standout mode must
not use space on the screen.   The help  screen  will not appear if the screen
has less than 24 lines.  WHEEL status is required.

   Be sure to see ALIAS.HLP for information on using the alias itself.
:1

    Syntax   SALIAS [[du: or dir:]aliasname[.COM] ]
	
   Everything  in [] is  optional.  SALIAS  always assumes  all files are type 
COM.  The specified alias will be loaded  for editing,  or created if  it does
not exist.  If no alias name is given on the command line,  it may be supplied 
on exit.   If you try to edit a file which is not an alias, SALIAS will refuse
to cooperate, rather than just give a warning.

   SALIAS uses an  internal  alias  template  of the  ALIAS15  type,  recently
written by Joe Wright.   You can link  SALIAS15.REL with  new alias modules as
they are developed.   One important side effect:   On exiting SALIAS,  GO will
now execute the alias just written rather than rerunning  SALIAS as  you might
expect. 
 Usage - 1/2 

   Aliases may be optionally Normal or Recursive.   A recursive  alias flushes
the remainder of the command line  when invoked,  giving a  clean  start  each
time.  (Note that nothing can follow the alias name on the command line.)  Use
these to loop through  a sequence,  such as  an  edit-assemble cycle, until an
exit condition is satisfied.

   TAB is intended for visual  indentation  of IF levels.   TAB  looks  like 3
blanks,  but is not actually  added to the script.   A  command line may start
with a REAL blank in  order to invoke the  extended command processor.   Auto-
matic indentation gives the script a Pascal-like appearance.

   Command lines longer than the screen width are indicated  with a ">" at the
right margin.   The line will scroll horizontally  when the cursor reaches the
screen boundary.   If you prefer, ^P+ at the start of a line appends it to the
previous line without  a command separator (";").   This option is awkward but
keeps the entire script visible.
 Usage - 2/2 

   The "PRINT" function will send the alias script to the printer or to a disk
file (with type .TXT).  The disk file option has two choices of format:

    1.  Separate line for each command, like the screen  display.  
        Intended for extracting script to paste into a text file.
    2.  Single multiple  command line.  For importing the  script 
        to an ARUNZ CMD file.

   Find/Replace can be used to replicate a string.

        Example:   <^Q^A>  <cr> <IF ~NU > will put "IF  ~NU"  at  the 
                   cursor.  Every ^L will produce another copy.

   Control character entry uses the  ^P  trigger.   The  character  entered is
displayed in standout video mode.   Controls may be used for printer or screen
control.   Note that the  ^P  BDOS printer toggle does NOT work from within an
alias script.   ^P only works when the DOS has directly taken a line of string
input. 
        Example:  To enter ^Z, use ^P^Z (or ^PZ)
                  ^P@ (null) is not accepted.
 Using SALIAS15.REL - 1/2 

   SALIAS 1.5 is  distributed in  M-REL format so that it can easily be linked 
with new or experimental alias modules (and with new system library versions).
The alias actually written to disk makes up the first few records of the prog-
ram.  In this case, it is Joe Wright's alias module from ALIAS 1.5.

            SLRNKP SALIAS/N,/A:100/J,ALIAS0,SALIAS,/E
                               or
                     ZML SALIAS=ALIAS0,SALIAS
                               or
                  LINK SALIAS=ALIAS0,SALIAS[NR]

   SALIAS contains a .REQUEST op for VLIB,Z3LIB,SYSLIB.

   By tradition,  the alias module is  expected to  be 8  records in length or
less.   SALIAS and its installation program require only that the alias module
end on a  record  boundary and  be  no  more  than a few kbytes in size.   The
current ALIAS0 is 7 records, so SALIAS proper begins at 480H.
 Using SALIAS15.REL - 2/2 

   SAINST.COM reads the entire SALIAS program, looks for a signature string at
SALIAS's installation table,  then writes back your changes to that particular
record.  In other words, the alias module can change size and the installation
program still works on the SALIAS you generate.   Unfortunately,  M-REL  files
cannot be installed directly.

   Any alias experimentation should be  based on ALIAS0.   SALIAS  expects the
general structure and public declarations you will find in this module.

   Thanks to  Joe Wright for permission  to  combine his interesting new alias
with the SALIAS editor.
:2
 File Mode 

   The alias script is  displayed on screen  with  a  function  menu along the
bottom listing single  letter  commands  which control file maintenance.   The
script is  actually  edited in  Edit  Mode,  described  below.   File  Mode is
intended as an aid to infrequent users.

    A   ADD    <-- Add the script of another alias to the current script.
    C	CLEAR  <-- Clear editor.  The alias is not changed.  (UNDO recovers)
    E	EDIT   <-- Enter full-screen editor.
    F	FORMAT <-- Reformat the script, one command per line.
    I	INDENT <-- Format and indent by IF level.
    L	LOAD   <-- Clear script and load an alias for editng.
    M	MODE   <-- Select Normal or Recursive mode (toggle).
    N	NAME   <-- Select a new name (or DIR:) for the script.
    P	PRINT  <-- Send the script to printer or to a text file.
    S	SAVE   <-- Format and WRITE the alias to disk.
    U	UNDO   <-- Cancel unsaved changes to script.
:3
 Edit Mode 
------------------------------------------------------------------------------
 CURSOR:                                |   INSERTION:
              ^R - top of screen        |      ^V - toggle insert/overwrite
              ^E - line up              |    <CR> - insert line               
                                        |      ^N - insert line
 ^S - char       ^       ^D - char      |   DELETION:
              <  $  >                   |      ^G - delete char at cursor   
 ^A - word       v       ^F - word      |     DEL - delete char left
                                        |      ^T - delete word right
              ^X - line down            |      ^Y - delete line
              ^C - first blank line     |     ^QY - delete to EOLN
                                        |   FIND/REPLACE:
                                        |     ^QF - find string
 ^QS, ^QD - SOLN, EOLN                  |     ^QA - find/replace string
 ^QZ - Clear (Zap) script               |      ^L - repeat find/replace
 TAB - Indent line                      |   CONTROL CHAR ENTRY:
 <ESC> - File mode   ^J - Help          |    ^P^n - ^n is ctl char          
------------------------------------------------------------------------------
 ^KN - Change Name   ^KR - Read (append) file.  ^KP - Print  ^KZ - Zap (clear) 
 ^KD - Save & Clear  ^KS - Save & Resume  ^KX - Save & Quit  ^KQ - Quit
 ^KF - Format        ^KI - Indent by IF level    ^KU - Undo  ^KM - Toggle Mode
------------------------------------------------------------------------------
Sample Screen:

SALIAS 1.0       Mode: Normal        Free: 148         Alias Name: A15:START
-------------------------------------------------------------------------------
ROOT:
LDR SYS.ENV,SYS.RCP,SYS.FCP,SYS.NDR
PATH TOP ROOT




------------------------------------------------------------------------------
<ESC> - FILE MENU                 -- EDITING --                      INSERT ON

Editing the alias START.COM with commands displayed one per line.   This  is a
normal rather than recursive alias.   There is room for another 148 characters
in the command line buffer.   (The  character count includes  the  ";" command
separators although they are not shown.)   The  editor is in  "insert"  rather
than "overwrite"  mode.   Pressing  <ESC> key  will  show  the  single  letter
command options described for "File Mode".   (Another  <ESC> returns  to "Edit
Mode" and repaints the screen.)
:4
 SALIAS Notes - 1/2 

   a. Vs. 1.5 updates (11/9/90, Rob Friefeld):
      - Uses new alias  template  by Joe Wright.   It has some  bug  fixes and
        implements some new features.  
      - Fixes bug in find/replace.  It started just after the cursor position,
        so it couldn't replace the current token.
      - Fixes bug in install program which gave prompt to "Save Changes?" when
        there were none.
      - Experiments with the alias  module are likely to continue.   An  M-REL
        version of SALIAS is included  which can  be  linked  with  new  alias
        modules as they appear.
      - Fixes bug in PRINT routine.  Not sure when it appeared.
 
   b. Vs. 1.4b updates (4/30/90, Rob Friefeld):
      - Improved control key encoding scheme.   You can now assign the editing 
        keys to single control keys or to any one of 3 lead-in keys.  There is
        no need for "sub-menus".
      - SALIAS will now accept  a 79 character screen line setting in your ENV
        descriptor.   Although it only used 78 chars, it tested for an 80 char
        screen width.
 SALIAS Notes - 2/2 

      - Replace command now has a global option.
      - Fix to help-screen display when using "SALIAS //".

   c. Vs. 1.3 updates 
     - Help screen reads the current command key set.   Any patches will auto-
       matically be reflected.   
     - SAINS13.COM installs new command key set.
     - Alias script can be entered in upper or lower case.  Version 1.3 leaves
       the script in lower case if entered that way.
:5
 Error Messages 

   Messages which require no response go away when any key is pressed.

CL OVERFLOW n CHARS	<-- The command line is too long by n characters.   If
  SAVE ANYWAY?:             SAVE is not aborted, the alias probably won't run.
                            If you have used  script  parameters  such  as  $U 
                            which will require  fewer  characters when "expan-
                            ded", you can choose to over-ride this reminder.

NOT AN ALIAS            <-- The specified file is not  an alias  at all.   The
                            name is ignored and replaced with a blank.

ALIAS CHOPPED     	<-- The alias file has too many commands to fit on the
                            screen.   Could happen when using a smaller screen 
                            or with an alias created with another program.

DESTINATION DISK FULL/  <-- Unable to SAVE alias on full disk.  QUIT or RENAME
 DIRECTORY FULL             to a new disk.

... xxxx? (Y/n):        <-- The letter in caps is the default choice.   A <cr>
... xxxx? (y/N)             selects it.
:6
 Examples of Use 

   a. SALIAS            <-- Program comes up with blank alias.  On SAVE, a 
                            filename is demanded.

   b. SALIAS ROOT:START <-- Edit the START.COM alias in the ROOT: directory.

   c. SALIAS A*         <-- On command line only, can load ambiguous file with 
                            leading letter.
