diff options
Diffstat (limited to 'Lisp')
-rw-r--r-- | Lisp/defpackage.lisp | 2 | ||||
-rw-r--r-- | Lisp/libobjcl.lisp | 12 |
2 files changed, 8 insertions, 6 deletions
diff --git a/Lisp/defpackage.lisp b/Lisp/defpackage.lisp index 6b5f8eb..1854cfd 100644 --- a/Lisp/defpackage.lisp +++ b/Lisp/defpackage.lisp @@ -17,7 +17,7 @@ (defpackage #:mulk.objective-cl (:nicknames #:objcl #:objective-cl #:mulk.objcl) - (:use #:cl #:cffi #:split-sequence) + (:use #:closer-common-lisp #:cffi #:split-sequence) (:shadow #:foreign-pointer) ;; Functions diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp index 5616f71..6b14115 100644 --- a/Lisp/libobjcl.lisp +++ b/Lisp/libobjcl.lisp @@ -354,11 +354,13 @@ conventional case for namespace identifiers in Objective-C." 'objective-c-meta-class) superclass (class-of superclass)) - (c2mop:ensure-class - (objc-fake-meta-class-name->symbol class-name-string) - :metaclass 'objective-c-meta-class - :pointer class-ptr - :direct-superclasses (list superclass))))) + (let ((fake-metaclass-name + (objc-fake-meta-class-name->symbol class-name-string))) + (or (find-class fake-metaclass-name nil) + (c2mop:ensure-class fake-metaclass-name + :metaclass 'objective-c-meta-class + :pointer class-ptr + :direct-superclasses (list superclass))))))) (or (find-class class-name nil) (c2mop:ensure-class class-name :metaclass metaclass |