[DECLARE.HLP    17-June-1988]

The DECLARE program allows a user to manipulate user-defined commands.

The syntax to define a command is:

        NAME=FILESPEC
or
        NAME/UNIQUE:n=FILESPEC
where "n" can be any of 1, 2, 3, 4, ALL, or NONE, or a list  of  any  of
these values enclosed in parentheses, as in (1,2,4).

or
        NAME/AUTOPUSH=FILESPEC
or a combination of the above.

When a command has been defined, the monitor will from  then  on  search
the user's command table in parallel with the monitor command table.  In
the case of conflicts, exact definitions are given  precedence,  and  in
the  case  of  conflicts  within  this,  the  user's  commands are given
precedence.

In the case of conflicts arising from an abbreviation being  given,  the
monitor  re-searches  its own command table without searching the user's
command table, and if it finds a unique match, it will use it.

A user may define "uniqueness" for a command,  which  the  monitor  will
behave  as  if  the  command had been given an exact definition for that
many characters.

Examples:

        .DECLARE TECO=SYS:STECO
        .TECO   ;Will run SYS:STECO
        .TEC    ;Will run SYS:TECO (Monitor overrides in the case of abbrev.)
        .TE     ;Will run SYS:TECO
However,
        .DECLARE TECO/UNIQUE:2=SYS:STECO
        .TECO   ;Will run SYS:STECO
        .TEC    ;Will run SYS:TECO (Monitor command has /UNIQUENESS:3)
        .TE     ;Will run SYS:STECO
        .T      ;Will say ?T? since even the monitor commands conflict
And,
        .DECLARE TECO/UNIQUE:(2,3)=SYS:STECO
        .TECO   ;Will run SYS:STECO
        .TEC    ;Will run SYS:STECO
        .TE     ;Will run SYS:STECO
        .T      ;Will say ?T? as before

Note that most programs will only recognize a very  few  command  names,
and  should  be  invoked only with such a command name.  For example, to
run CRSCPY  via  a  command,  the  command  must  be  "CRSCPY"  or  some
abbreviation thereof.

Other options allowed by this program are:

/AUTOPUSH
                When this switch is given on a  command  definition,  it
                causes  that  command  to  do an auto-push, thus causing
                that command to leave the previous  core  image  intact.
                This  feature  is  dependent upon having context service
                (CTXSER) loaded in your monitor.  CTXSER  is  loaded  by
                default.

                However, a command which is run via an auto-push  cannot
                change TMPCOR, pathological name definitions, or command
                definitions for your job.  Thus, many programs will  not
                perform  as  expected  if  they are run via an auto-push
                command.

/CLEAR
                Clear all user defined commands.  This is  a  standalone
                switch.

/LIST
                Lists the command names  that  the  user  currently  has
                defined.  This is also a standalone switch.

/KILL
                This switch will remove the  definition  of  a  command.
                This switch also requires a COMMAND NAME.

/SORT
                Sorts the commands that the user currently has  defined.
                Sometimes  this  is necessary due to the way the monitor
                scans the command tables.  This is a standalone switch.

DECLARE name
                Lists the full definition for the command  "name".   The
                command  name  may  contain wildcards, in which case any
                matching   user-defined   commands   will   have   their
                definitions listed.
