1 auto
  
   A command completion tool. Each token (verb, qualifier and value) on the 
   (DCL-)command line will be checked and completed. AUTO uses CLD tables
   like SYS$SHARE:DCLTABLES to validate each token. For values (like filenames)
   AUTO will let you select one.

   AUTO uses the process command table, but it also reads all symbols to see 
   if the command is a defined symbol.
   If that symbol is a foreign command, AUTO will look in the image to find
     a compiled CLD-table. If they are found, AUTO will use this table. If
     no CLD-table can be found, AUTO will use a 1-paramter $REST_OF_LINE.
     See also the help about user-defined definitions in the symbols help

   If the symbol points to a command procedure, AUTO will use a CLD-table
     with one qualifier "/OUTPUT" and upto 8 parameters.
     See also the help about user-defined definitions in the symbols help.


2 Qualifiers
/verbone
  /verbone

  Some images do have cld tables, but only to parse qualifiers.
  They will do a lib$get_foreign to get the command line and
  then a dcl_parse with a hard-programmed verb. This verb is
  not visible to the outside world.

  f.e. suppose we have a program test that defines "fixed" verb "vrb"
  test:=$test
  test /qual1/qual2....

  The source would be
  call lib$get_foreign(line,,nkar)
  call cli$dcl_parse('vrb '//line(1:nkar)...)

 So the verb is test, but on the outside (users using the symbol test)
  this "vrb" is not needed (and indeed not wanted).

 If you have "verbone" set, and AUTO discovers an image with only 1 verb
 ("vrb" in the previous example) AUTO will not prompt for the verb
 nor will it insert it in the command line
 If verbone is clear, AUTO will ask for and insert the verb
   (the program does a CLI$DCL_PARSE(LINE(1:NKAR)...) without the fixed "VRB"

/info
  /auto  (default)
  /noauto

  If /auto is set, AUTO will display informational messages.

/execute

  If /execute is specified, AUTO will process the buildup command line
  and command will return to AUTO. If not specified (demonstration mode)
  AUTO will just display the command to be executed. 

/terminal

  /terminal=value

  Normally AUTO will use the terminal type as defined with SYS$COMMAND
  (the DEVICE_TYPE_NAME). You can overrule this type, but the value must
  be one that is recognized by SMG termtable (sys$system:SMGTERMS.TXT)

/symbols
  /symbols   (default)
  /nosymbols

  Load the symbols in memory. If you do not want the symbol table 
  specify /nosymbols (you cannot use the verb-symbols)

/logicals
  /logicals=(name[,name...])
  /logical=own  Default
  /nologicals 

 By default AUTO will make a table of all logicals (show logical *)
 On some large tables this will take a lot of time. You can specify
 that you only want some tables, of no logicals at all.
 name van be
  [NO]SYSTEM
  [NO]GROUP
  [NO]JOB
  [NO]PROCESS
  [NO]OWN      (=process,job,group)
  [NO]ALL      (=process,job,group,system)
/override

  If the valuetype is $REST_OF_LINE or $STRING, AUTO will let you change
  the type to a better fitting one. f.e. with "copy/allocation=value"
  the value has the type $STRING, but you expect $NUMBER. You can change
  the type to $NUMBER. Default only $REST_OF_LINE and $STRING can be modified
  but if you specify /override, all types can be modified (at your own risk).

/use_arrows

  Normally auto uses two keys for next/previous match (default the TAB and BS
  key. If you specify /USE_ARROWS, the up- and down-arrow can also be used.
  See also the help about key-definitions.

/startup
  /startup=file  Default=AUTO_INI

  If you want to redefine the default key-definitions, you can use a startup
  file that contains the key-definitions. For the default key map see the
  help about key-definitions.
  The default filename is AUTO_INI and AUTO will try to find this file
  in two places:

  SYS$LOGIN:.INI   (so a file in your sys$login with defualt type .INI)
  The same directory as the AUTO image, with default file type .INI

  So there can be a system-wide default, but you can overrule is in your
  SYS$LOGIN.

  In this file you can define keys with the following statement
  DEFINE AUTO_KEY KEY[,KEY..]

  AUTO_KEY is one of the following

    Key             Default        Meaning
    KAR_DEBUG       ^D             Print debug info
    KAR_OVERRIDE    ^F,F11         Change the type of token
    KAR_EXPAND      TAB            Take the next valid token
    KAR_EXPAND_PREV ^H,F12         Take the previous valid token
    KAR_HELP        PF2,HELP       Print help about verb [/qual]
    KAR_LIST        ^L,F8          List all allowable tokens
    KAR_ABORT       ^Z,F10         Abort and exit AUTO
    KAR_TOGGLE      ^A,F14         Toggle insert/overstrike
    KAR_EOL         ^E             Goto END OF LINE
    KAR_REPAINT     ^R,^W          Repaint the line (after a breakthru)
    KAR_TOG_VERBONE ^F,F9          Toggle VERBONE state
    KAR_DEL_TOKEN   ^J,F13         Delete current token
    KAR_TOG_EXECUTE ^V,F7          Toggle execute flag

  You can (but maybe should not) override the following keys
    KAR_ENTER       Return,Enter   Finish the line
    KAR_LEFT        Left-arrow     Move one position to the left
    KAR_RIGHT       Right-arrow    Move one position to the right
    KAR_DELETE      DELETE         Delete one character

  KEY can be any of the following keys

     CTRLA..CTRLZ         CRTLC,CTRLQ,CTRLS,CTRLY are illegal
     PF1..PF4
     F7..F20              f1..f6 are illegal
     E1..E6
    If the terminal has keypad mode set also
     KP0..KP9             
     ENTER,MINUS,COMMA    

/help
  
  Display the help about AUTO, and exit.

2 key-definitions
 
  The default key-definitions are
    Key             Default        Meaning
    KAR_DEBUG       ^D             Print debug info
    KAR_OVERRIDE    ^F,F11         Change the type of token
    KAR_EXPAND      TAB            Take the next valid token
    KAR_EXPAND_PREV ^H,F12         Take the previous valid token
    KAR_HELP        PF2,HELP       Print help about verb [/qual]
    KAR_LIST        ^L,F8          List all allowable tokens
    KAR_ABORT       ^Z,F10         Abort and exit AUTO
    KAR_TOGGLE      ^A,F14         Toggle insert/overstrike
    KAR_EOL         ^E             Goto END OF LINE
    KAR_REPAINT     ^R,^W          Repaint the line (after a breakthru)
    KAR_TOG_VERBONE ^F,F9          Toggle VERBONE state
    KAR_DEL_TOKEN   ^J,F13         Delete current token
    KAR_TOG_EXECUTE ^V,F7          Toggle execute flag

   You can overrule these settings in the startup_file.See the
   help about /startup 

2 Info
 
  Auto has not been able to find help for the current command.
  THis can happen if 
  1. An image (foreign command) has no help file (or the helpfile cannot
     be found).
  2. A symbol that activates a command procedure.
  You can add help in this file .

  For a command procedure define help for @verb, (the @ must be in front
  of the verb (the symbolname in DCL). So if you have a symbol 
  SOME=@do_domething.com
  you need to define a help about @SOME

  For a foreign command define help for $VERB (the $ must be in front
  of the verb (the symbolname in DCL). So if you have a symbol
  SOME:=$do_something.exe
  you need to define help about $SOME.

  AUTO will look for help in the following way
  1. If you are entering a parameter AUTO will ask for help
     about Xverb parameter Pn. X is @ or $, and n is 1..8
  2. If you are entering a qualifier AUTO will aks for help
     about Xverb /qualifier.

  See the help about PRIV below
2 Logicals
 
  AUTO uses one logical

  AUTO_HELP may point to the AUTO_HELP help library. If the
  logical is not defined, AUTO searches the help library in the
  same directory as the AUTO image.

2 Symbols

  AUTO reads all symbols (if you do not specify /nosymbols). 
  They are used in the following ways

  a. Symbols that point to a DCL procedure (priv:=@privileges)
     If the user selects this symbols AUTO will default use a
     CLD-table with one qualifier (/OUTPUT) and 8 parameters (p1-p8)
     The type of the parameter is List of string.
     THis behaviour can be overruled, see below
  b. Symbols that point to an image (foreign command) (prog:=$prog)
     If the user selects this symbols AUTO will look in the image
     to locate a CLD-table. The first one found will be used.
     If a CLD-table cannot be found AUTO will use a CLD-table
     with one parameter. The type is $REST_OF_LINE.
     THis behaviour can be overruled, see below
  c. Symbols that redefine standard verbs (cdel:=delete/confirm)
     AUTO will replace the original verb (cdel) with the 
     equivalance string (delete/confirm)

  If the symbol is a DCL-procedure or a foreign command (without embedded
  CLD-tables), the user can override the default parameter info by defining
  a symbol 'VERB'_parameters with a string that describes the parameters

  So if we has a symbol PRIV=@PRIVILEGES, AUTO will by default define a 
  CLD-table with one qualifier (/output) and 8 parameters (p1..p8) of 
  type list of string. If you define a symbol PRIV_PARAMETERS, you can 
  change this default. The value of the symbol is
  
   PRIV_PARAMETERS = "type[,type...]" upto 8 parameters.

   Each type can be one of the standard CLD types (see table below).
   If the type is appended by an *, this type will be a list.
   The first type with a # is the first non-required parameter.

   So PRIV_PARAMETERS = "#PRIVILEGE*"

   Means one optional (see the # ) parameter of a list of (see the *)  PRIVILEGE.

   MYROUT_PARAMETERS = "NUMBER,INFILE*,#OUTFILE"
   means 2 required parameters and maximum 3 parameters.

     parameter 1 : Type is number (required)
     parameter 2 : Type is list of INFILE (required)
     parameter 3 : Optional outfile


  The following types are defined

   STRING      : text input
   INFILE      : Input file (must exist)
   OUTFILE     : Output file (may exist, but directories must exist)
   NUMBER      : A normal DCL number inclusive %X , %O
   PRIVILEGE   : A normal privilege
   DATETIME    : The normal DCL datetime (absolute) with a : between the
                  year and the hour
   DELTATIME   : The normal DCL datetime (deltatime) with a : between the
                  year and the hour
   PROTECTION  : A protection string (WO:RWED,OW:...)
   PROCESS     : A valid processname
   INLOG       : A valid (and existing) logicalname
   OUTLOG      : A valid logicalname
   INSYM       : A valid (and existing) symbolname
   OUTSYM      : A valid symbolname
   NODE        : A valid nodename
   DIRECTORY   : A valid directory name (possible with device/nodespec)
   UIC         : A valid UIC string
   RESTOFLINE  : DCL does not parse this type, all further chars are valid
   QUOTEDSTRING: A valid string , but leave " in string
   FILE        : A valid output file
   ACL         : A valid ACL specification
   OLD_FILE    : A valid output file

1 @priv
  This symbol activates the priv procedure.
  It takes one parameter, a list of privileges
  If you have defined the symbol PRIV_PARAMETERS to *PRIVILEGES
  AUTO will parse the parameter as a (list of) privileges,
  otherwise the parameter will be parsed as a string.
  
2 parameters
3 P1
 This parameter is a lijst of privileges, separated by ,
 One extra value is defined
  UNPRIV : Set privs to NETMBX,TMPMBX.
           This value is illegal (is is not a normal VMS priv) if
           you have defined the PRIV_PARAMETERS to *PRIVILEGES
2 /output
  /output=filename
  /output=sys$output default

  Reassing output to the filename
