Next: FORMAT Pretty Printer Operations, Previous: FORMAT Floating-Point Printers, Up: Formatted Output
An arg, any object,
is printed without escape characters
(as by princ). If arg is a string,
its characters
will be output verbatim.
If arg is nil it will be printed as nil;
the colon modifier (~:A) will cause an arg of nil to be printed as (),
but if arg is a composite structure, such as a list or vector,
any contained occurrences of nil will still be printed as nil.
~mincolA inserts spaces on the right, if necessary, to make the
width at least mincol columns. The @
modifier causes the spaces
to be inserted on the left rather than the right.
~mincol,colinc,minpad,padcharA
is the full form of ~A,
which allows control of the padding.
The string is padded on the right (or on the left if the
@ modifier is used) with at least minpad copies
of padchar; padding characters are then inserted colinc characters
at a time until the total width is at least mincol.
The defaults are 0 for mincol and minpad, 1 for colinc,
and the space character for padchar.
~A binds *print-escape* to false,
and *print-readably* to false.
This is just like ~A, but arg is printed with escape
characters (as by prin1 rather than princ). The output is
therefore suitable for input to read. ~S accepts
all the arguments and modifiers that ~A does.
~S binds *print-escape* to t.
An argument, any object, is printed obeying every printer control
variable (as by write). In addition, ~W interacts correctly with depth
abbreviation, by not resetting the depth counter to zero. ~W does not
accept parameters. If given the colon modifier, ~W binds *print-pretty*
to true. If given the at-sign modifier, ~W binds *print-level*
and *print-length* to nil.
~W provides automatic support for the detection of circularity and
sharing. If the value of *print-circle* is not nil and ~W is applied
to an argument that is a circular (or shared) reference, an appropriate
#n# marker is inserted in the output instead of printing the argument.