15.6 Buffering of Output

Some mediums that support the output protocol may buffer output. When buffering is enabled on a medium, the time at which output is actually done on the medium is unpredictable. force-output or finish-output can be used to ensure that all pending output gets completed. If the medium is a bidirectional stream, a force-output is performed whenever any sort of input is requested on the stream. [annotate]

with-buffered-output provides a way to control when buffering is enabled on a medium. By default, CLIM's interactive streams are buffered if the underlying window system supports buffering. [annotate]

Note: It says "with-buffered-output" at the beginning of this paragraph, but surely, it should have been "with-output-buffered" as the name of the macro further down the page. [edit]-- Robert Strandh 2006-12-09 08:41Z

medium-buffering-output-p  medium [Generic Function]

Returns true if the medium medium is currently buffering output, otherwise returns false. [annotate]


(setf medium-buffering-output-p)  buffer-p medium [Generic Function]

Sets medium-buffering-output-p of the medium medium to buffer-p. [annotate]


with-output-buffered  (medium &optional (buffer-p t)) &body body [Macro]

If buffer-p is true (the default), this causes the medium designated by medium to start buffering output, and evaluates body in that context. If buffer-p is false, force-output will be called before body is evaluated. When body is exited (or aborted from), force-output will be called if output buffering will be disabled after with-output-buffered is exited. [annotate]

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