built-in shelf
#suppress
is one of the built-in program output streams.
The #suppress
stream is used to discard data. Output can be directed to #suppress
for actions that may produce output that is not wanted. If #suppress
is specified with other destination streams in an output-to
, using output as
, or put
action, then the data is still written to the other streams. The data is discarded only if #suppress
is the only stream being written to.
#suppress
is a markup-sink
, which means that a markup stream, including both character data and markup events, may be output to #suppress
. Do not use #suppress
to discard a markup stream if any of the markup events is an external entity reference, as the parser may be waiting for the replacement value.
Markup rules that process content may use the suppress
operator to discard the content. The suppress
operator sets the current output stream to #suppress
, so that any rules invoked during content processing will also discard their output.
By default, the #suppress
stream in any program that uses referents is treated as if it were opened with referents-displayed
.
The #suppress
stream always has the "h" modifier on any text that gets written to it, which means that line breaking is never carried out on it. Additionally, the suppress
action activates the "z" modifier, which means that any data content it encompasses does not go through translate
rules.