diff options
Diffstat (limited to 'Lisp/data-types.lisp')
-rw-r--r-- | Lisp/data-types.lisp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Lisp/data-types.lisp b/Lisp/data-types.lisp index 2c309e7..18f2611 100644 --- a/Lisp/data-types.lisp +++ b/Lisp/data-types.lisp @@ -130,6 +130,17 @@ The following calls are all equivalent: (apply #'invoke-by-name receiver selector args)))) +(defmethod initialize-instance :after ((selector selector) + &rest initargs + &key + &allow-other-keys) + (declare (ignore initargs)) + ;; Register the selector. + (let ((symbol (intern (selector-name selector) '#:objective-c-selectors))) + (setf (fdefinition symbol) selector) + (export symbol '#:objective-c-selectors))) + + (defmethod make-load-form ((selector selector) &optional environment) (declare (ignore environment)) `(intern-pointer-wrapper 'selector |