I have observed the following problem (GCL 2.6.8, CVS code and Maxima 5.15.0,
Windows XP):
/* in display2d mode all is fine */
(%i41) display2d:true;
(%o41) true
(%i42) bessel_j(n,z);
(%o42) bessel_j(n, z)
/* if I change to linear display mode the function is displayed with ?% */
(%i43) display2d:false;
(%o43) false
(%i44) bessel_j(n,z);
(%o44) ?%bessel_j(n,z)
/* We have this problem for most functions with an internal
representation like ((%function) ...) */
(%i48) :lisp (setq $form '(($function) $x $y))
(($FUNCTION) $X $Y)
(%i48) form;
(%o48) function(x,y) /* O.K */
(%i49) :lisp (setq $form '((%function) $x $y))
((%FUNCTION) $X $Y)
(%i49) form;
(%o49) ?%function(x,y) /* wrong */
/* The gamma function has not this problem. It is a
%-function too, but for this function an alias and a
reversealias can be found on the property list */
(%i52) gamma(z);
(%o52) gamma(z)
(%i54) :lisp (symbol-plist '%gamma)
(PNAME %GAMMA ....
REVERSEALIAS $GAMMA
NOUN $GAMMA
... )
/* The same with the elliptic_ec function.
If we give an alias the problem vanish */
(%i60) elliptic_ec(z);
(%o60) ?%elliptic_ec(z)
(%i61) :lisp (alias '$elliptic_ec '%elliptic_ec)
%ELLIPTIC_EC
/* We have given an alias and the function displays correctly. */
(%i61) elliptic_ec(z);
(%o61) elliptic_ec(z)
This problem can further be recognized using expressions like
(%i65) printf(true,"~a",2*bessel_i(n,z));
2*?%bessel_i(n,z)
Is this a known problem? Is this a bug?
Dieter Kaiser