335380b...
by
Robert Dodier <email address hidden>
Attempt to be careful about computation of height and depth in display code.
Calculation is working correctly from what I can tell, and pretty printer
output appears to be correct, but box(...) has spurious empty lines at the
bottom of the box. This is due to special variables for height and depth
being updated incorrectly. Given that those variables are used widely in
the display code, it seems too difficult at this point to straighten it out.
This commit addresses SF bug #4105: "Lisp error displaying a long string and subscripted variables"
The bug mentioned in that bug report is indeed fixed by this commit;
maybe I should let that be enough, without trying to fix the other stuff
about height and depth in box. I will have to think about it.
2154a8d...
by
Robert Dodier <email address hidden>
In share package decfp, declare user-visible functions with DEFMFUN instead of DEFUN.
(DEFMFUN $FOO ...) defines two functions, one named $FOO and the other FOO-IMPL.
A subsequent (DEFUN $FOO ...) redefines only $FOO and leaves FOO-IMPL untouched.
decfp redefines $BFLOAT and the presence of the old BFLOAT-IMPL leads
to unexpected behavior.
Partial fix for SF bug #4110: "share package decfp inadvertent interaction with floor(sqrt(2))"
With this commit, floor(sqrt(2)) returns floor(sqrt(2)) which is still incorrect;
it returns 1 when decfp is not loaded.
e252531...
by
Wolfgang Dautermann <email address hidden>
We want to have the float properties as part of the core of Maxima, so
move floatproperties.lisp to globals.lisp. These constants and
functions are fundamental properties of Maxima flonums so they should
be part of the core.
As part of the move, use the `:properties` feature of `defmvar` to
disallow setting of these values instead of directly setting the
`assign` property.