Common Lisp Interface Manager 2.0 User's Guide > Chapter 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]

Arguments: medium

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

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

Arguments: buffer-p medium

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

with-output-buffered [Macro]	

Arguments: (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.

Common Lisp Interface Manager 2.0 User's Guide - 22 Dec 2009