Hello,
I just had a more detailed look on src/plot.lisp/$sprint after I filed a bug report about that
function.
A lot of test cases are mentioned there which $sprint doesn't pass.
So I propose to cut $sprint out of plot.lisp and put it into the stringproc package. Then it can
easily be fixed by using stringproc/$printf. ($sprint and $printf can be autoloaded at the
same time.)
After doing this, there only remains one of the mentioned test cases "unfixed":
(%i15) sprint (["foo bar", "Foo Bar", "FOO BAR"]);
["foo bar","Foo Bar","FOO BAR"]
(%o15) [foo bar, Foo Bar, FOO BAR]
The rest of cases seems to work fine:
(%i26) sprint(42,true,%i,sqrt(2),x,"FOO",12.23e1,12.23b1,etc);
42 true %i sqrt(2) x FOO 122.3 1.223b2 etc
(%o26) 42
Volker