Last commit made on 2018-07-15
Get this branch:
git clone -b master

Branch merges

Branch information


Recent commits

774063d... by Kris Katterjohn 8 hours ago

Be specific about the allowed types in the SET-MODULUS error message

520893d... by Kris Katterjohn 9 hours ago

Bug fix: SET-MODULUS allowed setting modulus to 0

Having modulus set to 0 causes massive breakage.

SET-MODULUS is supposed to be a safe way to set modulus (with checks
to validate the new value), but there has been an off-by-one error
since it was introduced in commit 99d0c62d as a rewrite of

(It wasn't mentioned in the commit message for the aforementioned
commit, but it appears that SETQMODULUS was broken because it
allowed any positive number. SET-MODULUS fixed that part to only
allow integers, but it was broken because of the incorrect lower

After a cursory glance it doesn't appear that a user could get
modulus set to 0 (without using lisp directly), but I didn't bother
doing any in-depth analysis.

835cfdc... by Kris Katterjohn 10 hours ago

Fix bug #3365: rat(1/3),modulus:6 gives incomprehensible error

This improves the error message in CRECIP and CRECIP-GENERAL when
we cannot take the inverse of the given integer with respect to a
given modulus.

I'm using the wording suggested by Stavros Macrakis in the bug
report. It's generally much clearer than the current message and
I can't think of any obvious improvements to it.

The new error message is (arguably) still not completely clear in
some cases. An example is calling rat(1/3) with modulus:3 because
CRECIP is given 0, and so the error message mentions 0 (not 3).

11fc1a2... by PeterPall 19 hours ago

On sbcl run_testsuite(share_tests=true) did sometimes OOM

Let's try to prevent the out-of-memory by manually triggering a
garbage collection on loading a package.

The speed penalty of this garbage collection is low as it appears
only seldomly. Let's see, though, if the build server tells us
that it actually helps.

If it doesn't help I will revert this commit.
My guess is that tweaking sb-ext:bytes-consed-between-gcs might
reduce the memory fragmentation by sbcl that is the main reason
for running out of memory. But that would be a bigger change so
I'd like to try it last.

fa6459a... by Kris Katterjohn on 2018-07-14

Fix bug #3427: gcfactor(3+4*%i) => error

The error that occurred was due to a failed assertion. This commit
removes that assertion.

That assertion was only added in commit 6ef2b26c, which rewrote
GCFACTOR. The code for the assertion was present before that,
but the assertion did not take place unless the non-standard feature
CL was present on the features list of the underlying lisp (I tested
SBCL, ECL, ABCL and CLISP, but none of these have CL on their
features list). That commit removed the read-time conditional so
that the assertion always took place.

The test suite and share test suite both run fine, with a new test.

2b06ab8... by PeterPall on 2018-07-14

"make check": Remove all the workarounds

Commit 6b1f52eeb3fd5bf7fdb575a630746dc5f53d8a04 has finally repaired


=> "make check" no more needs to run the share tests in a separate
maxima process.

6b1f52e... by Kris Katterjohn on 2018-07-13

Fix bug #2822: After load("diff_form") `functions' fails

In share/diff_form/cartan_new.lisp some symbols were being given
invalid DISSYM properties. ASCII character codes were used instead
of CL characters, which lead to lisp errors.

This is a direct conversion of the ASCII codes to the corresponding
CL characters. The three operators @, & and &2 all have the same
DISSYM property (just as they did before).

This is similar to a change made in commit 8a803b53.

4d87ff4... by Kris Katterjohn on 2018-07-12

Fix bug #3363: Documentation of modulus incorrectly says it applies to all rational numbers

The modulus entry now uses the wording suggested by Stavros Macrakis
in the bug report.

257750f... by Kris Katterjohn on 2018-07-12

Docs: fix a typo in the fillarray entry

5642332... by Kris Katterjohn on 2018-07-12

Fix typos introduced in commit 08e69d47

Change "lisp" to "Lisp" for consistency with a similar message
introduced in commit cf4e2fda.

Change "is" to "it" because it was the wrong word.