sys-proclaim (Was Re: [Maxima] Testsuite errors in CVS maxima)



>>>>> "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