maxima:rtoy-move-evok

Last commit made on 2022-12-11
Get this branch:
git clone -b rtoy-move-evok https://git.launchpad.net/maxima

Branch merges

Branch information

Name:
rtoy-move-evok
Repository:
lp:maxima

Recent commits

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

Move remaining sets of evfun property to the function.

The remaining cases of 'evok were for defmspec's. Thus, modify
defmspec to allow setting properties in the definition. This is
basically the same syntax as for defmfun.

Use the new defmspec to define the evok property with the definition
and remove the mapc call in mlisp.lisp that set these.

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

Move set of evfun property to the function

Modify `defmfun` to allow either a symbol or a list defining the
function. The list looks like (name :properties p) where `name` is the
name of the function and `p` is a list of lists for the properties that
we wish to assign to `name`. Similar to the `:properties` option for
`defmvar`.

Remove the `mapc` that set the 'evfun property on a list of functions,
and use the new :property feature of defmfun to set the property when
the function is defined.

9a05178... by Raymond Toy <email address hidden>

Move evflag setting for variables from mlisp to defmvar.

For the remaining symbols in mlisp.lisp that assign the evflag
property, move the assignment to the corresponding defmvar for the
variable.

562c468... by Raymond Toy <email address hidden>

Move evflag setting from mlisp to globals

mlisp.lisp sets the evflag property for many symbols. For the symbols
in globals.lisp, use the defmvar :properties option to set the evflag
property and remove it from the mapc in mlisp.lisp.

5d4e461... by Raymond Toy <email address hidden>

Add tests.

Test some assignments to gensumnum to verify that false and
non-negative integers work.

Test genindex should be a symbol.

Add test for powerseries where gensumnum is false.

330a562... by Raymond Toy <email address hidden>

Only accept :setting-predicate

A git grep shows that `setting-predicate` is not used anywhere so drop
support for `setting-predicate` and only allow `:setting-predicate`.

9419dd3... by Raymond Toy <email address hidden>

Forgot to remove $genindex from msetchk

We didn't actually remove `$genindex` from `msetchk` in the last
commit. Do it now.

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

Don't use msetchk for gensumnum/genindex.

Since we use `:setting-predicate` for `$gensumnum` and `$genindex`,
don't separately set the `assign` property to `msetchk` for these.

Also remove the entries from msetchk since they shouldn't be calling
msetchk.

3b6251d... by Raymond Toy <email address hidden>

Support defmvar option :setting-predicate

Support `:setting-predicate` (and `setting-predicate`) option in `defmvar`.
We prefer `:setting-predicate`, however.

Update `$gensumnum` and `$genindex` to support this.

The predicate for `$gensumnum` was not correct, so it's been updated to
verify the value must either be NIL or a non-negative integer. This
also required changing `gensumindex` to allow `$gensumnum` to be NIL.

677f2de... by Barton Willis <email address hidden>

o Let's dispatch radcan on (integer)^X only when integer is positive. This matches the source code commment.
o No problems with the testsuites.