The Gray stream protocol defines :EOF as the proper return from stream-read-char on EOF. I left the check for NIL as this what ECL and CLASP do and it seems relatively harmless.
STREAM-READ-CHAR stream [Generic Function]
This reads one character from the stream. It returns either a
character object, or the symbol :EOF if the stream is at end-of-file.
Every subclass of FUNDAMENTAL-CHARACTER-INPUT-STREAM must define a
method for this function.
The Gray stream protocol defines
:EOF
as the proper return from stream-read-char on EOF. I left the check for NIL as this what ECL and CLASP do and it seems relatively harmless.