On Mon, Oct 28, 2002 at 02:53:17PM -0600, William Harold Newman wrote:
> On Mon, Oct 28, 2002 at 02:23:48PM +0000, Christophe Rhodes wrote:
> > (%eval original-exp lexenv)
> Looking at the code it does seem as though there was probably a reason
> for doing it this way, but I can't think of any current reason.
> As you noted later (after the mail above) on IRC, the code seems to be
> from before my time. My guess is that in fact it's before ANSI CL's
> time as well. Perhaps Spice Lisp had its own guarantees and
> constraints on when macros are expanded, just as ANSI CL does, but not
> compatible with those of ANSI CL, and keeping track of and reusing the
> original unexpanded form was necessary to implement some sort of
> supported behavior we can no longer imagine.
Well, as readers of sbcl-commit will know, I commited the patch to ccase
and friends, with one change of original-exp to exp, to CVS last night.
I'm hoping that we're early enough in the development cycle that any
bugs that this introduces (e.g. in handling alien functions or
something) will be noticed, but obviously that only happens if people
Speaking of which, I have another potentially destabilizing change (in
that I don't understand how it works): corresponding with Pierre Mai and
Gerd Moellmann, I have a patch that fixes simultaneously bugs 140 and
176 (that's redefined-classes-and-subtypep and check-wrapper-validity.
I tried to construct test cases where it would fail, and didn't come up
with anything last night, so again I'm inclined to put it into the CVS
and see if we get complaints...
In terms of cross-compilation-host building, the only system I don't
have access to test on is "old cmucl" (as in 2.4.6 or thereabouts); I
plan also to delete the #-cmu in src/compiler/array-tran.lisp which
Antonio Martinez reported was symptomatic of sb-fluid problems rather
than old cmucl problems, but confirmation that the build works after
that would probably be good :-)
http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)