Page 218 Table of Contents Index Page 220
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 23. PRESENTATION TYPES

inferiors record-type) &body body [Macro]
The output of body to the extended output recording stream is used to generate a presentation
whose underlying object is object and whose presentation type is type. Each invocation of this
macro results in the creation of a presentation object in the stream's output history unless output
recording has been disabled or :allow-sensitive-inferiors nil was specified at a higher
level, in which case the presentation object is not inserted into the history. with-output-as-
presentation
returns the presentation corresponding to the output.

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

type may be a presentation type abbreviation.

modifier, which defaults to nil, is some sort of object that describes how the presentation object
might be modified. For example, it might be a function of one argument (the new value) that can
be called in order to store a new value for object after a user somehow "edits" the presentation.
modifier must have indefinite extent.

single-box is used to specify the presentation-single-box component of the resulting presen-
tation. It can take on the values described under presentation-single-box.

When the boolean allow-sensitive-inferiors is false, nested calls to present or with-output-as-
presentation
inside this one will not generate presentations. The default is true.

record-type specifies the class of the presentation output record to be created. It defaults to
standard-presentation. This argument should only be supplied by a programmer if there is a
new class of output record that supports the updating output record protocol.

All arguments of this macro are evaluated.

For example,

 (with-output-as-presentation (stream #p"foo" 'pathname)
   (princ "FOO" stream))

=> present object &optional type &key stream view modifier acceptably for-context-type single-
box allow-sensitive-inferiors sensitive record-type
[Function]
The object of presentation type type is presented to the extended output stream stream (which
defaults to *standard-output*), using the type's present method for the supplied view view.
type is a presentation type specifier, and can be an abbreviation. It defaults to (presentation-
type-of
object). The other arguments and overall behavior of present are as for stream-
present
.

The returned value of present is the presentation object that contains the output corresponding


Page 218 Table of Contents Index Page 220
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