print [ -abcDilmnNoOpPrsSz ] [ -u n ] [ -f format ] [ -C cols ]
      [ -v name ] [ -xX tabstop ] [ -R [ -en ]] [ arg ... ]
       With  the  `-f'  option the arguments are printed as described by
       printf.  With no flags or with the flag `-',  the  arguments  are
       printed  on  the  standard  output as described by echo, with the
       following differences: the  escape  sequence  `\M-x'  (or  `\Mx')
       metafies  the  character  x  (sets  the  highest bit), `\C-x' (or
       `\Cx') produces a control character (`\C-@' and `\C-?'  give  the
       characters  NULL and delete), a character code in octal is repre-
       sented by `\NNN' (instead of `\0NNN'), and `\E' is a synonym  for
       `\e'.   Finally,  if  not  in an escape sequence, `\' escapes the
       following character and is not printed.

       -a     Print arguments with the column incrementing first.   Only
              useful with the -c and -C options.

       -b     Recognize all the escape sequences defined for the bindkey
              command, see the section `Zle Builtins' in zshzle(1).

       -c     Print  the arguments in columns.  Unless -a is also given,
              arguments are printed with the row incrementing first.

       -C cols
              Print the arguments in cols columns.  Unless  -a  is  also
              given,  arguments  are  printed  with the row incrementing
              first.

       -D     Treat the arguments as paths, replacing directory prefixes
              with ~ expressions corresponding to  directory  names,  as
              appropriate.

       -i     If  given  together  with  -o  or -O, sorting is performed
              case-independently.

       -l     Print the  arguments  separated  by  newlines  instead  of
              spaces.  Note: if the list of arguments is empty, print -l
              will  still  output  one  empty  line.  To  print a possi-
              bly-empty list of arguments one per line, use  print  -C1,
              as in `print -rC1 -- "$list[@]"'.

       -m     Take  the  first argument as a pattern (should be quoted),
              and remove it from the argument list together with  subse-
              quent arguments that do not match this pattern.

       -n     Do not add a newline to the output.

       -N     Print  the  arguments  separated  and terminated by nulls.
              Again, print -rNC1 -- "$list[@]" is  a  canonical  way  to
              print an arbitrary list as null-delimited records.

       -o     Print the arguments sorted in ascending order.

       -O     Print the arguments sorted in descending order.

       -p     Print the arguments to the input of the coprocess.

       -P     Perform  prompt  expansion  (see  EXPANSION  OF PROMPT SE-
              QUENCES in zshmisc(1)).  In combination with `-f',  prompt
              escape sequences are parsed only within interpolated argu-
              ments, not within the format string.

       -r     Ignore the escape conventions of echo.

       -R     Emulate  the  BSD echo command, which does not process es-
              cape sequences unless the -e flag is given.  The  -n  flag
              suppresses the trailing newline.  Only the -e and -n flags
              are  recognized  after -R; all other arguments and options
              are printed.

       -s     Place the results in the history list instead  of  on  the
              standard  output.   Each  argument to the print command is
              treated as a single word in the history, regardless of its
              content.

       -S     Place the results in the history list instead  of  on  the
              standard  output.   In this case only a single argument is
              allowed; it will be split into words as if it were a  full
              shell  command line.  The effect is similar to reading the
              line from a history file with  the  HIST_LEX_WORDS  option
              active.

       -u n   Print the arguments to file descriptor n.

       -v name
              Store  the printed arguments as the value of the parameter
              name.

       -x tab-stop
              Expand leading tabs on each line of output in the  printed
              string  assuming  a  tab  stop  every tab-stop characters.
              This is appropriate for formatting code that  may  be  in-
              dented  with tabs.  Note that leading tabs of any argument
              to print, not just the first, are expanded, even if  print
              is using spaces to separate arguments (the column count is
              maintained across arguments but may be incorrect on output
              owing to previous unexpanded tabs).

              The  start  of the output of each print command is assumed
              to be aligned with a tab stop.  Widths of multibyte  char-
              acters  are  handled if the option MULTIBYTE is in effect.
              This option is ignored if other formatting options are  in
              effect,  namely  column  alignment  or printf style, or if
              output is to a special location such as shell  history  or
              the command line editor.

       -X tab-stop
              This is similar to -x, except that all tabs in the printed
              string  are  expanded.  This is appropriate if tabs in the
              arguments are being used to produce a table format.

       -z     Push the arguments onto the editing  buffer  stack,  sepa-
              rated by spaces.

       If  any  of  `-m', `-o' or `-O' are used in combination with `-f'
       and there are no arguments (after the removal process in the case
       of `-m') then nothing is printed.

pushln [ arg ... ]
       Equivalent to print -nz.
