summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-05 18:47:32 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-05 18:47:32 +0100
commitb1015fa7812802b2dad8c361f0638433ecb95203 (patch)
tree597762916edeb95ebdda6d4bd7d81aa1b3d74f72 /Lisp
parent3fab07e7cf66542c137a8150ed62a6a3a3affe0b (diff)
SHARED-INITIALIZE :AFTER (SELECTOR ...): Add a note about CMUCL.
darcs-hash:8f43001b4a1f23eba62fef3c537b5b2442810c51
Diffstat (limited to 'Lisp')
-rw-r--r--Lisp/data-types.lisp10
1 files changed, 8 insertions, 2 deletions
diff --git a/Lisp/data-types.lisp b/Lisp/data-types.lisp
index 7c08891..f531bbf 100644
--- a/Lisp/data-types.lisp
+++ b/Lisp/data-types.lisp
@@ -123,12 +123,18 @@ The following calls are all equivalent:
&rest initargs
&key
&allow-other-keys)
+ ;; FIXME: CMUCL 19d does not allow the second argument to
+ ;; PCL:SET-FUNCALLABLE-INSTANCE-FUNCTION to be a closure. As we need
+ ;; to close over SELECTOR, this piece of code throws weird errors on
+ ;; CMUCL and will not work.
+ ;;
+ ;; In particular, one possible symptom is that SELECTOR may not be a
+ ;; selector but something different when INVOKE-BY-NAME is called.
(declare (ignore slot-names initargs))
(c2mop:set-funcallable-instance-function
selector
#'(lambda (receiver &rest args)
- (apply #'invoke-by-name receiver selector args)))
- selector)
+ (apply #'invoke-by-name receiver selector args))))
(defmethod initialize-instance :after ((selector selector)