unifies Char with the ASCII code of the next non-layout character from Stream or the current input stream.
Layout characters are all outside the inclusive range 33..126; this includes space, tab, linefeed, delete, and all control characters.
If there are no more non-layout characters in the stream, Char is unified with -1.
Stream errors (see ref-iou-sfh-est), plus:
If the stream is tty, trying to read beyond the
end of the stream results in resetting the input stream and trying to
read the next character. By using the
eof_action option of
open/[3,4], it is possible to specify that it should not be an
error to run off the end of a stream.