Robert Dodier's read_list function



Hello fellow Maximaists,

Robert Dodier wrote a very nice set of functions for reading data into Maxima
which I downloaded from
http://riso.sourceforge.net/maxima/read_write_data-0.1.tar.gz
and have used with no problem under Maxima 5.9.2 and clisp. I have since
compiled Maxima using the latest cmucl. The build_info() is:
 Maxima version: 5.9.2
 Maxima build date: 12:31 2/2/2006
 host type: i686-pc-linux-gnu
 lisp-implementation-type: CMU Common Lisp
 lisp-implementation-version: 19c (19C)

and now I get an error when I call Robert's read_list function. The code for
this function is:

(defun $read_list (file-name &optional sep-ch)
  (setq a '())
  (with-open-file (in (stripdollar file-name))
    (setq sep-ch (get-sep-ch sep-ch))
    (loop
      (setq l (read-line in nil 'eof))
      (if (eq l 'eof) (return (cons '(mlist simp) a)))
      (setq a (append a (cdr (make-mlist-from-string l sep-ch)))))))

and the error that I get when I call the function like this
 read_list("/project/dgf/temp.dat");
is
Maxima encountered a Lisp error:

 Type-error in KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER:
    /PROJECT/DGF/TEMP.DAT is not of type (OR BASE-STRING FILE-STREAM PATHNAME)
Automatically continuing.

In trying to track it down, it looks like the error is occuring at the "with-open-file" call.
Any suggestions as to how to fix this problem are appreciated.

Richard Hollos