diff options
Diffstat (limited to 'Lisp')
-rw-r--r-- | Lisp/data-types.lisp | 10 |
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) |