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]
Summary: Returns t if the medium medium is currently buffering output; otherwise, it returns nil .
(setf medium-buffering-output-p) [Generic Function]
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 - 7 Aug 2017