~peterpall/maxima/+git/maxima.code:rtoy-remove-more-lmdcls

Last commit made on 2023-01-21
Get this branch:
git clone -b rtoy-remove-more-lmdcls https://git.launchpad.net/~peterpall/maxima/+git/maxima.code

Branch merges

Branch information

Name:
rtoy-remove-more-lmdcls
Repository:
lp:~peterpall/maxima/+git/maxima.code

Recent commits

926be30... by Raymond Toy <email address hidden>

Forgot to remove *alpha from lmdcls

Full testsuite still passes

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

Move *bigprimes* and *alpha to globals.lisp (from rat3c)

`*alpha` is a specvar used in several files so it makes sense to have
it in globals.lisp. Since `*alpha` is initialized from `*bigprimes*`,
it makes sense to have this specvar in globals.lisp too.

However, `*bigprimes*` is initialized using the `next-prime` function
which isn't available when globals.lisp is compiled. Hence, it has to
be initialized at startup in `initialize-runtime-globals`.

`*alpha` is initialized to the first value in `*bigprimes*` so we need
to initialize it in `initialize-runtime-globals` too. Since `*alpha`
is a `defmvar`, we need to update the initial values hashtable too.

Finally, `$pointbound` is initialized to `*alpha`, so initialize it in
`initialize-runtime-globals` too. The initial values hashtable needs
to be updated too.

Full testsuite passes.

715d2d9... by Raymond Toy <email address hidden>

Add opers-list to globals

`opers-list` has a `declare-top` `special` in asum.lisp and
simp.lisp. Let's just a defvar for `opers-list` to globals.lisp
and update all the `declare-top`'s to remove `opers-list`. We can
also remove the special decl from lmdcls.lisp since it's not needed
anymore.

Full testsuite passes.

265d189... by Raymond Toy <email address hidden>

Add derivlist to globals

`derivlist` has a `declare-top` `special` in a couple places
without a corresponding `defvar`. Let's just add one to globals.lisp
and update all the `declare-top`'s to remove `derivlist`.

We can rename this to `*derivlist*` later, or do something else
appropriate.

Full testsuite passes.

004b8e3... by Raymond Toy <email address hidden>

Rename alpha to *alpha*

`alpha` is used in a lot of places, and from what I can tell, many of
those places (like bessel.lisp and ellipt.lisp) don't intend to use
the `alpha` specvar. (It was originally defined in ifactor.lisp).
So, let's rename it to `*alpha*` per lisp conventions and remove it
from lmdcls.lisp. Then update code that actually wants to use the
specvar `alpha` to use `*alpha*`.

I think I got all the places that need to be changed.

The full testsuite passes.

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

Add defvar for *n in globals.lisp

`*n` has a `declare-top` in many files but there's no `defvar` for
it. To simplify things, add a `defvar` for it in globals.lisp and
remove it from any `declare-top`'s.

Full testsuite passes.

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

Remove *in from lmdcls.lisp.

It's only used in simp.lisp (where there's a declare-top for it).
Hence, it doesn't need to be defined in lmdcls.

(We should fix that in simp.lisp so that we don't have declare-top for
it, but that's for a different day.)

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

Rename local to *local*

`local` is a defvar that appears to be used only in transl.lisp (Hard
to tell from a grep; it's a common word.) So rename it to `*local*`
and remove it from lmdcls.lisp.

Full testsuite passes. But I guess there aren't really any tests for
translate in the testsuite, so it's hard to know for sure. At least
this change doesn't affect other parts of Maxima.

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

Rename returns to *returns* in transl

Because `returns` is such a common word in programming, rename the
specvar `returns` to `*returns*` in transl. Hopefully this will make
it easier to know that we're referring to the specvar and not the
common word when grepping through the sources.

Full testsuite passes.

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

Remove returns from lmdcls.

As far as I can tell it's defined in transl.lisp and only used
there. (It's really hard to tell from grepping the source code since
it's such a common word.) So remove it from lmdcls.lisp since it's
not used anywhere else.

Full testsuite passes.