On Mon, 20 Jun 2005, Nikodemus Siivola wrote:
> Commenting out the QUIT at the end, and compiling
> tests/dynamic-extent.impure.lisp twice in the same session lands in
This seems to be a problem with the consistency checker, which
doesn't allow promises as entry points. The appended patch fixes this,
but I don't know if this is _right_ -- especially given that this
happens only on a recompile...
RCS file: /cvsroot/sbcl/sbcl/src/compiler/debug.lisp,v
retrieving revision 1.37
diff -u -r1.37 debug.lisp
--- src/compiler/debug.lisp 17 Feb 2005 14:30:40 -0000 1.37
+++ src/compiler/debug.lisp 20 Jun 2005 11:50:56 -0000
@@ -195,7 +195,8 @@
(barf ":OPTIONAL ~S has an ENTRY-FUN." functional))
(let ((ef (lambda-optional-dispatch functional)))
(check-fun-reached ef functional)
- (unless (or (member functional (optional-dispatch-entry-points ef))
+ (unless (or (member functional (optional-dispatch-entry-points ef)
+ :key #'force) ; optional dispatch entry points can be promises (eq functional
(optional-dispatch-more-entry ef)) (eq functional
(optional-dispatch-main-entry ef))) (barf ":OPTIONAL ~S is not an e-p for its OPTIONAL-DISPATCH ~S."
-- Nikodemus Schemer: "Buddha is small, clean, and serious."
Lispnik: "Buddha is big, has hairy armpits, and laughs."