~peterpall/maxima/+git/maxima.code:rtoy-opproperties

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

Branch merges

Branch information

Name:
rtoy-opproperties
Repository:
lp:~peterpall/maxima/+git/maxima.code

Recent commits

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

Revert "asum depends on compar to get defvar sign"

This reverts commit 545610e541c65ded1c390043571029a775233898.

Shouldn't have been committed to this branch.

545610e... by Raymond Toy <email address hidden>

asum depends on compar to get defvar sign

Update dependencies in maxima.system so that we compile compar.lisp before
asum.lisp which uses the defvar sign from compar.lisp.

For this to work, remove the declare-top special and unspecial of sign
in specfun.lisp; it's special and we don't want to make it unspecial.

26df098... by Raymond Toy <email address hidden>

Actually remove the defparameter for $opproperties

It was nil'ed out before; actually remove it.

267e129... by Raymond Toy <email address hidden>

Fix compiler warning about undefined $opproperties

First, move the `defparameter` for from the end of the file and change
it from `defparameter` to `defmvar` with `no-reset`. Also make it so
that the user can't assign values to it directly.

The initial value is obtained by looking at the values from a previous
version of maxima. But it could also be obtained by looking at the
value of `opers` and reversing the elements.

Testsuite passes.

8b74dd1... by Raymond Toy <email address hidden>

Remove $maperror and $maxapplyheight from lmdcls

`$maperror` is defined in mlisp.lisp and only used there and once in
trdata.lisp to set 'mode property to $boolean for the translator.

`$maxapplyheight` is defined in matrun.lisp and only used there and
once in trdata.lisp to set 'mode property to $boolean for the
translator.

Thus, just make sure mlisp.lisp is compiled before trdata.lisp in
maxima.system.

Finally, in matrun.lisp, since `$maxapplyheight` and `$maxapplydepth`
are defmvars, we don't need the declare-top special for them, so
remove that.

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

Remove meta-prop-l and meta-prop-p from lmdcls

These two vars are defined in trpop.lisp and are only used there and
in trans4.lisp. Since these are defined by defmvar, instead of moving
these to globals.lisp, let's just tell defsystem that trans4.lisp
depends on trprop.

(Perhaps it would make sense to move these to transl which more or
less contains most of the special vars for the translator. For
another day.)

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

Only allow false, true, or lisp for debugmode value

The user manual only mentions false, true, and lisp for possible
values for debugmode, so only allow these values when setting
debugmode.

666e6de... by Raymond Toy <email address hidden>

Remove sums from lmdcls

It's not really clear if `sums` (from simp.lisp) should really be
special; it's a common word and used in lots of places. From what I
can tell, those uses aren't related to the variable `sums` from
simp.lisp. This is further reinforced by the fact that in an early
commit, `sums` was renamed to `*sums*` in simp.lisp without affecting
the test suite.

Removing this from lmdcls didn't change the test suite results; the
test suite passed for both cmucl and ecl with the expected results.

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

Oops. Remove cycle in dependencies

"transl" depended on "transl", which is wrong. Remove it.

1692bde... by Raymond Toy <email address hidden>

Rename special vars to use lisp convention

Rename `rulesw`, `prods`, `negprods`, `sums`, and `negsums` to use the
Lisp convention for special variables. These aren't used anywhere
else, except `sums` has a special decl in lmdcls.lisp. That should
probably be removed, but testing needs to be done.

With this change, the testsuite (including share tests) passes.