Subject: batch file problem, was: Maxima 5.9.1.9rc3
From: Robert Dodier
Date: Thu, 29 Sep 2005 12:02:56 -0600
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