7.2 Input/Output system extensions
openexhibits the following behavior:
(:direction :io)option supports one file position and one buffer. Writing and reading a character advance the same pointer. Thus, you can write a character and move the pointer back to read the character you just wrote.
:io; you should only use multiple openings for
openalways reads from the underlying file for input, but the output links for an existing file depend on the value of the
:if-existsoption as follows:
:overwrite, the existing file is used without changing the structure of any links. The file pointer is set to the beginning of the file. Output sent to the stream modifies the file.
:append, the existing file is used without changing the structure of any links. Output sent to the stream modifies the file. The file pointer is set to the end of the file.
:supersede, the specified file is replaced. When the file is opened, a temporary file is created and opened for output. When the stream is closed, the temporary file is renamed so that it replaces the specified file. Note that the symbolic link disappears when this happens.
:new-version, the implementation is the same as for
:supersedebecause UNIX does not support version numbers. This value is the default.
openfails; if a file of the specified name exists,
clear-outputdepend on whether the stream to be cleared can be set to a specified position:
file-position, these functions cannot clear any input or output data.
clear-outputattempt to discard any unread input and buffered output respectively.
opencan never be cleared, the standard input stream can always be cleared, and a stream returned by the function
make-lisp-streamcan be cleared only when the value of its
:positionablekeyword argument is
print-unreadable-object, the function
readtable-case, and the variables
Generated with Harlequin WebMaker