[Ecls-list] writefile does not write



> 
> The problem is that writefile() in Maxima does not work (just creates an
> empty file, and never writes to it) under Ecl (now also
> using the newest version from cvs), while it works for example with CLisp.
> And writefile uses (apparently) dribble().
>
Here is the definition of writefile (in macsys.lisp):

(defmfun $writefile (x)
  (let ((msg (dribble (maxima-string x))))
    (format t "~&~A~&" msg)
    '$done))

And closefile:

(defmfun $closefile ()
  (cond ($appendfile
	 (cond ((eq $appendfile *terminal-io*)
		(format t (intl:gettext "~&/*Finished dribbling to ~A.*/~&")
			(nth 2 *appendfile-data*))
		(setq *terminal-io* (nth 1 *appendfile-data*)))
	       (t (warn "*TERMINAL-IO* was rebound while APPENDFILE is on.~%~
		   You may miss some dribble output.")))
	 (close (nth 0 *appendfile-data*))
	 (setq *appendfile-data* nil $appendfile nil))
	(t (let ((msg (dribble)))
             (format t "~&~A~&" msg))))
  '$done)

Don't know why this works with CLisp but not with Ecl.

Oliver