maxima:rtoy-refactor-specvars-defint-var

Last commit made on 2024-01-22
Get this branch:
git clone -b rtoy-refactor-specvars-defint-var https://git.launchpad.net/maxima

Branch merges

Branch information

Name:
rtoy-refactor-specvars-defint-var
Repository:
lp:maxima

Recent commits

37e7dbb... by Raymond Toy <email address hidden>

Remove declare-top declaration for var

The special variable `var` has been replaced by a lexical in almost
all places in defint. We don't need the `declare-top` declaration for
`var` anymore. Only a few places still need to reference it:

o The replacement functions that accept a lexical to bind `var` before
  calling the underlying function that references `var`.
o The one call to `keyhole` that requires `plog` not to simplify the
  arg until later.

In all of these cases, we locally declare `var` as special. Hence the
file declaration is not needed anymore.

Full testsuite + share passes with clisp (2.49.93+ (2018-02-18)),
ecl (23.9.9), and cmucl (snapshot-2023-08).

58aa867... by Raymond Toy <email address hidden>

Merge branch 'master' into rtoy-refactor-specvars-defint-var

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

Fix expected TeX output of hypergeometric function

The expected output of `tex(hypergeometric([a,b],[c],x),false);`
originally was broken across two lines. Now it all fits on one.
Update expected output.

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

Merge branch 'master' into rtoy-refactor-specvars-defint-var

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

Replace simpexpt with just power

We were incorrectly calling `simpexpt` when we updated the code. The
function `power` simplifies, so we don't need `simpexpt`.

(Hmm. The old code called `simpexpt` with a flag of `nil`. Maybe we
should use `power*` instead?)

075a14d... by Raymond Toy <email address hidden>

Some minor indentation fix and refactoring.

Move `subin-var` up to where the other replacements are so they're all
together to make it easier to find them.

One `cond` sexp in `mtoinf` was indented incorrectly. Fix it.

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

Merge branch 'master' into rtoy-refactor-specvars-defint-var

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

Remove debugging prints

48f632e... by Raymond Toy <email address hidden>

Fix #4254: plog returns unsimplified answers

The simplifier for plog uses explicit list constructs to create
certain expressions. These expressions aren't always simplified. To
fix this, replace these expressions with the equivalent function
calls. Thus, instead of `(ftake %log (list '(mtimes) -1 x))`, do
`(ftake %log (mul -1 x))`. This makes sure -1*x is simplified.

Add some test to rtest15, taken from the bug report.

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

Fix compiler warning about unknown variable VAR

`extra-simp` references the special variable `var`, but `var` was
declared unspecial earlier in the file. Let's leave the unspecial
declaration as is, and declare `var` special in `extra-simp` to get
rid of the warning.

We should probably pass `var` in to remove that dependency. For
another day, perhaps.

This occurs only with lisps like clisp and cmucl that actually support
the unspecial declaration. I think sbcl doesn't support unspecial.