I have the following maxima file
------ test.max -------------------
output_integer(z) := block(
[tmp],
tmp : file_output_append,
file_output_append : true,
stringout( "output.txt", "/* integer */" ),
stringout( "output.txt", z ),
file_output_append : tmp,
return(z)
);
output_integer(1);
------ test.max -------------------
using my NEW Maxima installation (maxima -b test.max), I have
------------------------------------------------
Maxima 5.15.0 http://maxima.sourceforge.net
Using Lisp CLISP 2.45 (2008-05-15)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) batch(test.max)
batching /home/seirios/test.max
(%i2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%o2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%i3) output_integer(1)
Error in `stringout' attempt
#0: output_integer(z=1)(test.max line 7)
-- an error. To debug this try debugmode(true);
------------------------------------------------
whereas using my OLD Maxima installation (maxima -b test.max), I have
------------------------------------------------
Maxima 5.13.0 http://maxima.sourceforge.net
Using Lisp CLISP 2.41 (2006-10-13)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(%i1) batch(test.max)
batching /home/seirios/test.max
(%i2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%o2) output_integer(z) := block([tmp], tmp : file_output_append,
file_output_append : true, stringout("output.txt", "/* integer */"),
stringout("output.txt", z), file_output_append : tmp, return(z))
(%i3) output_integer(1)
(%o3) 1
------------------------------------------------
Andre