All Manuals > CLIM 2.0 User Guide > 13 Extended Stream Output Facilities

13.6 Buffering 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.

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.

medium-buffering-output-p Generic Function

medium-buffering-output-p medium

Summary: Returns t if the medium medium is currently buffering output; otherwise, it returns nil.

(setf medium-buffering-output-p) Generic Function

(setf medium-buffering-output-p) buffer-p medium

Summary: Sets medium-buffering-output-p of the medium medium to buffer-p.

with-output-buffered Macro

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

Summary: If buffer-p is t (the default), this causes the medium designated by medium to start buffering output, and evaluates body in that context. If buffer-p is nil, 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.

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.


CLIM 2.0 User Guide - 01 Dec 2021 19:38:59