6.7. The Fundamental Extensions
Here is a description of all “atomic” extensions in Regina:
[BUFTYPE_BIF]
Allows calling the built-in function BUFTYPE(), which will
write out all the contents of the stack, indicating the
buffers, if there are any. The idea is taken from VM/CMS, and
its command named BUFTYPE.
[CACHEEXT]
Tells Regina that information should be cached whenever
possible, even when this will render future execution of the
OPTIONS instruction useless. Thus, if you use e.g. the OPEN()
extra built-in function, and you set CACHEEXT, then you may
experience that the OPEN() function does not disappear from
the current scope when you set the NOOPEN_BIF extension.
Whether or not a removal of an extension really do happen is
unspecified when CACHEEXT has been called at least once.
Effectively, info cached during the period when CACHEEXT was
in effect might not be “uncached”. The advantage of CACHEEXT
is efficiency when you do not need to do a lot of toggling of
some extension.
[CLOSE protect_BIF]
Allows the CLOSE() extra built-in function, which allows the
program to explicitly close a stream.
[DESBUFprotect_BIF]
Allows calling the built-in function DESBUF(), to remove all
contents and all buffers from the stack. This function is an
idea taken from the program by the same name under VM/CMS.
[DROPBUFprotect_BIF]
Allows calling the built-in function DROPBUF(), to removed
one of more buffers from the stack. This function is an idea
take from the program by the same name under VM/CMS.
[FIND_BIF]
Allows calling the FIND() extra built-in function, which is a
compatibility function with VM/CMS. This function is really
equivalent to POS(), but the parameters are somewhat
reversed, and some find FIND() more intuitive. Besides, this
extension helps porting.
[FLUSHSTACK]
Tells the interpreter that whenever a command clause
instructs the interpreter to flush the commands output on the
stack, and simultaneously take the input from the stack, then
the interpreter will not buffer the output but flush it to
the real stack before the command has terminated. That way,
the command may read its own output. The default setting for
Regina is not to flush, i.e. NOFLUSHSTACK, which tells
interpreter to temporary buffer all output lines, and flush
them to the stack when the command has finished.
[LINEOUTTRUNC]
This options tells the interpreter that whenever the
LINEOUT() built-in function is executed for a persistent
file, the file will be truncated after the newly written
line, if necessary. This is the default setting of Regina,
unless your system does not have the ftruncate() system call.
The complement option is NOLINEOUTTRUNC.
[MAKEBUF_BIF]
Allows calling the built-in function MAKEBUF(), to create a
buffer on the stack. This function is an idea taken from a
program by the same name under VM/CMS.
[OPEN_BIF]
Adds the extra built-in function OPEN() , which is used for
explicitly opening streams.
[PRUNE_TRACE]
Makes deeply nested routines be displayed at one line.
Instead of indenting the trace output at a very long line
(possibly wrapping over several lines on the screen). It
displays [...] at the start of the line, indicating that
parts of the white space of the line has been removed.
PREV NEXT