Page 177 Table of Contents Index Page 179
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E



CHAPTER 20. TEXT FORMATTING

The stream argument is not evaluated, and must be a symbol that is bound to an output recording
stream. If stream is t, *standard-output* is used. body may have zero or more declarations as
its first forms.

indentation specifies how much whitespace should be inserted at the beginning of each line. It
is specified in the same way as the :x-spacing option to formatting-table.

If the boolean move-cursor is true (the default), CLIM moves the cursor to the end of the table.

Programmers using indenting-output should begin the body with a call to fresh-line (or some
equivalent) to position the stream to the indentation initially. There is a restriction on interac-
tions between indenting-output and filling-output such that a call to indenting-output
should appear outside of a call to filling-output. Implementations are permitted to relax this
restriction, but uses of indenting-output inside of filling-output may not be portable.

20.3 Filled Output

=> filling-output (stream &key fill-width break-characters after-line-break after-line-break-initially)
&body body [Macro]
Binds stream to a stream that inserts line breaks into the textual output written to it (by
such functions as write-char and write-string) so that the output is usually no wider then
fill-width. The filled output is then written on the original stream.

The stream argument is not evaluated, and must be a symbol that is bound to a stream. If
stream is t, *standard-output* is used. body may have zero or more declarations as its first
forms.

fill-width specifies the width of filled lines, and defaults to 80 characters. It is specified the same
way as the :x-spacing option for formatting-table.

"Words" are separated by the characters specified in the list break-characters. When a line
is broken to prevent wrapping past the end of a line, the line break is made at one of these
separators. That is, filling-output does not split "words" across lines, so it might produce
output wider than fill-width.

after-line-break specifies a string to be sent to stream after line breaks; the string appears at the
beginning of each new line. The string must not be wider than fill-width.

If the boolean after-line-break-initially is true, then the after-line-break text is to be written to
stream before executing body, that is, at the beginning of the first line. The default is false.


Page 177 Table of Contents Index Page 179
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E