maxima:rtoy-refactor-sprdet-specvars

Last commit made on 2023-11-03
Get this branch:
git clone -b rtoy-refactor-sprdet-specvars https://git.launchpad.net/maxima

Branch merges

Branch information

Name:
rtoy-refactor-sprdet-specvars
Repository:
lp:maxima

Recent commits

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

Remove specvar ml* in sprdet.lisp

Remove the special declaration for ml*. Instead, pass in the variable
to the functions that need it. It appears to be first defined in tbdu
and is used in getminor and nbn, so add ml* as a parameter for these
two functions.

Full testsuite passes, including share tests.

2abc57c... by Raymond Toy <email address hidden>

Update test results for ecl 23.9.9

As shown in
https://wolfgang.dautermann.at/maxima/nightlybuild/logfile-share-testsuite-ecl.txt
ecl 23.9.9 passes tests 63, 65, and 69 from rtestprintf.

Update testsuite.lisp not to include these as expected failures.

607b81b... by Raymond Toy <email address hidden>

Clean up implementation.

Remove stuff that we commented out for testing.

The full testsuite (including share) passes as expected.

2d68688... by Raymond Toy <email address hidden>

Do not declare `e` to be special in sin.lisp

It seems that `e` does not need to be declare to be a special variable
in sin.lisp. Removing the declaration does not cause any compiler
warnings/notes and the warning in limit.lisp about `e` being an
ignored special variable is gone now in clisp.

My guess is that there was some confusion because `e` is used to match
things via the m2 matcher. But it's not an actual variable; it's used
as a simple symbol to denote the item that was matched.

Possibly `w` and `y` are also used in this way. I didn't check.

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

Rename ee to e in simplim%limit

Put back the original name of the arg so we get warnings until we
figure out where `e` is declared special.

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

Remove unused variable e in tsexpt-red

tsexpt-red doesn't use the variable `e` at all, so remove it and the
corresponding special declaration for it.

No new warnings/notes when compiling this file. Full
testsuite (including share tests) pass with this change.

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

Fix #4200: Rename special variables

sprdet.lisp declares `x` as a special variable and then undeclares it
later. However, `x` only appears to be used as a speical variable in
the function `nbn`. So add `x` as a parameter to `nbn` and remove the
special declarations for `x`.

As a test, we use `x` again in `simplim%limit` again to see there are
compiler warnings/notes. Neither clisp nor cmucl complain about
ignoring the special variable `x` any more.

Full testsuite (including share tests) pass.

0ffe4af... by Raymond Toy <email address hidden>

Fix warning about ignoring special var

Both cmucl and clisp warn that the variable `A` is a special variable
that is being ignored. To fix this, just rename the variable.

I am unable to find where `A` becomes a speical variable. This only
seems to happen when compiling maxima from scratch. If you compile
hypergeomtric.lisp by itself, there's no such warning.

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

Merge branch 'issue-4195-4200-cmucl-21e-error'

02dfab3... by Wolfgang Dautermann <email address hidden>

Fix several tests with with_default_2d_display().

These tests (especially containing printf(..."~m"...))
did work in command line Maxima, but if a frontend like
wxMaxima was used, they failed - the ~m produced some XML (for
other frontends probably other code, as Gunter mentioned), which
caused the tests to fail.

Other tests already also use this 'protection'.

Now the testsuite and share_testsuite run without errors in
Maxima and wxMaxima (using Clisp).

This fixes the following wxMaxima bug report:
https://github.com/wxMaxima-developers/wxmaxima/issues/1832
(only the problems in the main testsuite were reported there).