In section 11.1.2.1.2 (http://l1sp.org/cl/11.1.2.1.2), the CLHS says
that the consequences are undefined if a method is defined for a
standardized generic function that is applicable when all the
arguments are direct instances of standardized classes.
cl-cont's special-transformers.lisp has this:
(defmethod documentation :around ((obj symbol) (doc-type (eql
'function)))
(let ((fn (when (fboundp obj) (fdefinition obj))))
(if (typep fn 'funcallable/cc)
(documentation (f/cc-function fn) doc-type)
(call-next-method))))
Since that standard GF is specialized for symbols and functions,
LispWorks refuses to accept it with an error like this:
Error: Defining (METHOD DOCUMENTATION :AROUND (SYMBOL (EQL #)))
visible from package COMMON-LISP.
Because of that error, weblocks will not load on LispWorks. (LispWorks
is being picky; no other implementation I tried complained. But I
think the spec is clear about the situation and LispWorks is allowed
to signal an error.)
I removed that method (and the setf method), and weblocks loads and
runs fine on LispWorks.
Any chance that cl-cont will be updated to fix this issue?
Thanks,
Zach
--
You received this message because you are subscribed to the Google Groups
"weblocks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/weblocks?hl=en.