Camm Maguire <[email protected]> writes: > Greetings! Just a followup on my last note: > > Raymond Toy <[email protected]> writes: > >> Perhaps things have changed, but sys-proclaim isn't supposed to be >> generated on every build. Or perhaps my memory of how this all works >> is wrong; I don't build with gcl nearly as often as I used to. > > On investigating further, I see that the --enable-sys-proclaim configure > switch is required to build the sys-proclaims.lisp file automatically. > We had this turned on in the Debian package build, so I had overlooked > this previously -- my apologies! I think the rest of my comments > regarding maxima's use of this file are still worth discussing.
I made the changes to sys-proclaim generation maybe a year or so ago, after introducing a subtle bug by changing a function so that it no longer matched the declaration in sys-proclaim.lisp. The only lisp that saw the bug was GCL (where SLIME doesn't work and the repl is painful to use). Very frustrating to track down, so I wanted to make sure that it doesn't happen again. We no longer have a sys-proclaim.lisp checked in to the actual repository, since it's automatically generated. When a user builds with GCL, we first load src/generate-sys-proclaim.lisp, which builds all of Maxima and then generates the sys-proclaim.lisp. We then delete the Maxima we just built and build it again, this time with the declarations From the sys-proclaim.lisp. For all the gory details, look in src/Makefile.am. Obviously, this is a tad slow. If you're doing Maxima development using GCL for some reason, you can configure with something like ./configure --with-gcl --enable-sys-proclaim=no Your copy of Maxima will then run a few percent slower, but you only have to build it once. I think we decided to ship sys-proclaim.lisp in release tarballs because users that are building Maxima aren't mostly going to be hacking on function definitions. (That bit wasn't my decision, but it sounds like a plausible reason: check with Robert(?) for details) Rupert
pgpHoPm65S9mA.pgp
Description: PGP signature
_______________________________________________ Gcl-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gcl-devel
