built-in shelf
#process-input identifies the default input source that the system supplies to the OmniMark
program. This corresponds with what is usually referred to as standard input (or stdin) on UNIX systems.
When the -term command-line option is given, #process-input is unavailable to
the program; attempts to access it will generate an error.
#process-input explicitly identifies a source of input, and can be used as the scanning source
in:
do scan
repeat scan
string source function of a do sgml-parse
scan source of a do sgml-parse
submit
The use of #process-input is subject to the following constraints:
do scan, repeat
scan, or submit. If an attempt is made to use it more than once, an error will be
generated.
#process-input is usually read incrementally, meaning that the contents of the stream are
not all buffered in memory before processing begins. In some situations, however, this is not the case. If you
use #process-input as a string expression (for example: length of #process-input),
as a passed value argument in a function, or as part of a concatenated string (for example: set
this-string to str-var || #process-input), the entire contents of #process-input will be
read into memory.
Note that #process-input represents a stream of data that is being dynamically generated by a
process outside your program (such as another application or the keyboard). Any attempt to read
#process-input as a whole will block until the end of the input is signaled by the outside process (such
as by the user typing Ctrl-D on the keyboard). In most cases you will want to make sure you
read #process-input incrementally.