summaryrefslogtreecommitdiff
path: root/Lisp/libobjcl.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp/libobjcl.lisp')
-rw-r--r--Lisp/libobjcl.lisp12
1 files changed, 7 insertions, 5 deletions
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