sys-proclaim (Was Re: [Maxima] Testsuite errors in CVS maxima)
Subject: sys-proclaim (Was Re: [Maxima] Testsuite errors in CVS maxima)
From: Raymond Toy
Date: Thu, 23 Mar 2006 10:53:02 -0500
>>>>> "Raymond" == Raymond Toy <raymond.toy at ericsson.com> writes:
Raymond> Is sys-proclaim really needed? I know gcl uses it, but it seems to be
Raymond> a maintenance headache, and a great source of potential bugs, as we
Raymond> can see now.
Raymond> I notice that src/Makefile has a target to regenerate sys-proclaim,
Raymond> which works by removing all of binary files for gcl and compiling
Raymond> everything again. This seems ok, except it takes a fair amount of
Raymond> time. When I do this, the resulting sys-proclaim file is incorrect
Raymond> because it has references to the new MT19937 package (for random
Raymond> number generation) but the package isn't defined when sys-proclaim is
Raymond> compiled. Yuck.
Ok. This seems to work. Could someone with gcl verify this too?
1. Copy the defpackage in src/rand-mt19937.lisp to the end of
src/maxima-package.lisp.
2. Comment out or remove the defpackage in src/rand-mt19937.lisp (not
really necessary).
3. cd to src and run "make sys-proclaim".
4. rm -rf src/binary-gcl
5. make check
The last step should have all tests passing as expected.
Just from looking at some of the compiler messages points out that gcl
was potentially making quite a few mistakes. For example, it was
assuming draw2d only took 2 args, but, in fact, has 2 required args
and 2 optional args now. Of course, we have the issue with bata0
returning 2 values instead of 1.
If someone can verify this works, I'll check in the necessary changes.
Ray