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  fol-
       lowing  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 represented 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, ar-
              guments 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 ap-
              propriate.

       -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 possibly-empty list of ar-
              guments 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 subsequent ar-
              guments 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  ar-
              bitrary 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 SEQUENCES
              in zshmisc(1)).  In combination with `-f', prompt escape  se-
              quences  are  parsed  only within interpolated arguments, not
              within the format string.

       -r     Ignore the escape conventions of echo.

       -R     Emulate the BSD echo command, which does not  process  escape
              sequences  unless  the  -e  flag  is given.  The -n flag sup-
              presses 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 stan-
              dard 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 stan-
              dard output.  In this case only a single argument is allowed;
              it  will  be split into words as if it were a full shell com-
              mand 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 indented  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  characters
              are  handled  if the option MULTIBYTE is in effect.  This op-
              tion 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 ar-
              guments are being used to produce a table format.

       -z     Push the arguments onto the editing buffer  stack,  separated
              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.
