flush stream-name


When working with buffered streams, you may need to force OmniMark to send the output to its destination before you are ready to close the stream. To do this, use flush.

Any open stream can be flushed, including the built-in output streams #error, #process-output, and #main-output.

If you find that you are having to continually flush a stream, you can declare that stream to be unbuffered using unbuffered.

Note that flushing a stream that has referents-allowed does not immediately resolve the referents and output the stream contents. When a stream containing referents is flushed, the contents of that stream are sent immediately to the referent resolution area until the referents are resolved in the normal fashion. flush does not provide a method for forcing early referent resolution.

Flushing a stream is not an error if the stream is unbuffered; it simply has no effect. It is an error, however, to flush a stream that is not open.

Related Syntax