~peterpall/maxima/+git/maxima.code:dodier-display-careful-height-depth

Last commit made on 2023-03-04
Get this branch:
git clone -b dodier-display-careful-height-depth https://git.launchpad.net/~peterpall/maxima/+git/maxima.code

Branch merges

Branch information

Name:
dodier-display-careful-height-depth
Repository:
lp:~peterpall/maxima/+git/maxima.code

Recent commits

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>

Windows installer: Update ABCL and wxMaxima.

1ab4ed2... by PeterPall

Snapcraft: Managed to build maxima for two more architectures

a539662... by Raymond Toy <email address hidden>

Use float_eps() instead the lisp value +flonum-epsilon+

Let's use the `float_eps()` function to get flonum epsilon instead of
referring to the lisp constant `+flonum-epsilon+`.

bd17f4d... by Raymond Toy <email address hidden>

Add documentation for float properties

Document float functions like `float_bits()`, and `float_eps()`.
Document the constants like `largest_float` and friends.

7fd1f98... by Raymond Toy <email address hidden>

Remove floatproperties.lisp and update tests

Don't need floatproperties.lisp anymore. Update rtest1.mac so as not
to load floatproperties.lisp.

a181a31... by Raymond Toy <email address hidden>

Add bigfloat_bits function and reorder code slightly

Let's put all the functions together instead of being separated by the
`defmvar`'s.

Also added a $bigfloat_bits function to match $float_bits.

b02fd3e... by Raymond Toy <email address hidden>

Move floatproperties.lisp to globals.lisp

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.

a193db8... by Raymond Toy <email address hidden>

Merge branch 'rtoy-refactor-globals-plusify-flonum-consts'