set [ {+|-}options | {+|-}o [ option name ] ] ... [ {+|-}A
[ name ] ] [ arg ... ]
       Set  the options for the shell and/or set the posi-
       tional parameters, or declare and set an array.  If
       the  -s  option  is  given, it causes the specified
       arguments to be sorted before assigning them to the
       positional  parameters  (or to the array name if -A
       is used).  With +s  sort  arguments  in  descending
       order.   For  the  meaning  of the other flags, see
       zshoptions(1).  Flags  may  be  specified  by  name
       using  the -o option. If no option name is supplied
       with -o, the current  option  states  are  printed.
       With +o they are printed in a form that can be used
       as input to the shell.

       If the -A flag is specified,  name  is  set  to  an
       array  containing  the  given  args;  if no name is
       specified, all arrays  are  printed  together  with
       their values.

       If +A is used and name is an array, the given argu-
       ments will replace the  initial  elements  of  that
       array;  if  no  name  is  specified, all arrays are
       printed without their values.

       The behaviour of arguments after -A name or +A name
       depends  on  whether  the option KSH ARRAYS is set.
       If it is not set, all arguments following name  are
       treated  as  values  for  the  array, regardless of
       their form.  If the option is  set,  normal  option
       processing  continues  at  that point; only regular
       arguments are treated  as  values  for  the  array.
       This means that

              set -A array -x -- foo

       sets array to `-x -- foo' if KSH ARRAYS is not set,
       but sets the array to foo and turns on  the  option
       `-x' if it is set.

       If  the -A flag is not present, but there are argu-
       ments beyond the options, the positional parameters
       are set.  If the option list (if any) is terminated
       by `--', and there are no  further  arguments,  the
       positional parameters will be unset.

       If  no  arguments  and  no `--' are given, then the
       names and values of all parameters are  printed  on
       the  standard output.  If the only argument is `+',
       the names of all parameters are printed.
