9.6.1 Implementation Defined Options

file access methods used:

R/O, R/W and BIN work as you would expect. W/O translates into the C file opening mode w (or wb): The file is cleared, if it exists, and created, if it does not (with both open-file and create-file). Under Unix create-file creates a file with 666 permissions modified by your umask.

file exceptions:

The file words do not raise exceptions (except, perhaps, memory access faults when you pass illegal addresses or file-ids).

file line terminator:

System-dependent. Gforth uses C’s newline character as line terminator. What the actual character code(s) of this are is system-dependent.

file name format:

System dependent. Gforth just uses the file name format of your OS.

information returned by FILE-STATUS:

FILE-STATUS returns the most powerful file access mode allowed for the file: Either R/O, W/O or R/W. If the file cannot be accessed, R/O BIN is returned. BIN is applicable along with the returned mode.

input file state after an exception when including source:

All files that are left via the exception are closed.

ior values and meaning:

The iors returned by the file and memory allocation words are intended as throw codes. They typically are in the range -512−-2047 of OS errors. The mapping from OS error numbers to iors is -512−errno.

maximum depth of file input nesting:

limited by the amount of return stack, locals/TIB stack, and the number of open files available. This should not give you troubles.

maximum size of input line:

/line. Currently 255.

methods of mapping block ranges to files:

By default, blocks are accessed in the file blocks.fb in the current working directory. The file can be switched with USE.

number of string buffers provided by S":

As many as memory available; the strings are stored in memory blocks allocated with ALLOCATE indefinitely.

size of string buffer used by S":

/line. currently 255.