batch file problem, was: Maxima 5.9.1.9rc3



hi andrej,

> it looks like there is a bug in rc2 on windows. It fails to load files
> which don't end with a new line character. Version 5.9.1 can load these
> files with no problem.

i suspect the problem is related to the implementation of
read-char-no-hang in GCL:

GCL 2.6.5 and 2.6.7 on Windows XP (within Maxima):

(%i1) :lisp (with-open-file (in "empty-file") (read-char-no-hang in nil 'foo))

  => Unexpected end of #


GCL 2.6.7 on Linux (within Maxima):

(%i1) :lisp (with-open-file (in "empty-file") (read-char-no-hang in
nil 'foo))  => NIL


so far as i can tell
(http://www.lisp.org/HyperSpec/Body/fun_read-char-no-hang.html)
the above behaviors are both wrong.
CMUCL 18e on Linux appears to have the correct behavior:

* (with-open-file (in "empty-file") (read-char-no-hang in nil 'foo))  => FOO


the difference between Maxima 5.9.1 and 5.9.1.9rc2 in this respect is
that there is now a call to read-char-no-hang at the end of dbm-read
(src/mdebug.lisp).

there was some discussion about read-char-no-hang on gcl-devel
(circa february 2005) but i didn't see a resolution there.

robert dodier