I wanted to switch to a different gnuplot binary, so I found
gnuplot_command:
(%i1) gnuplot_command;
(%o1) gnuplot
Great! Now let's try to change it:
(%i2) gnuplot_command:"/usr/local/bin/gnuplot";
(%o2) /usr/local/bin/gnuplot
Seems to work fine, but now a plot:
(%i3) plot2d(sin(x),[x,0,10]);
/bin/sh: -c: line 1: syntax error near unexpected token `&'
/bin/sh: -c: line 1: `&/usr/local/bin/gnuplot -persist maxout.gnuplot'
Huh? What is really now gnuplot_command?
(%i4) :lisp $gnuplot_command
&/usr/local/bin/gnuplot
A symbol, it's name starting with #\&! But maxima expects a lisp
string, how do I set it back?
(%i5) :lisp (setq $gnuplot_command "gnuplot")
gnuplot
Morale:
For the user: don't mess with undocumented variables just because they
happen to be accessible from maxima.
For the implementor: If a variables is accessible from maxima, it
should also be possible to set it to a sensible value.
In the long term: Stop using symbols where strings should be used.
Ole