summaryrefslogtreecommitdiff
path: root/Lisp/libobjcl.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp/libobjcl.lisp')
-rw-r--r--Lisp/libobjcl.lisp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index 618a8b1..bf166c4 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -253,7 +253,9 @@ conventional case for namespace identifiers in Objective-C."
(let ((class-ptr (%objcl-find-class class-name-string)))
(if (objc-pointer-null class-ptr)
nil
- (let ((class-name (objc-class-name->symbol class-name-string)))
+ (let ((class-name (objc-class-name->symbol class-name-string))
+ (superclass (or (objcl-class-superclass/pointer class-ptr)
+ (find-class 'id))))
(or (find-class class-name nil)
(c2mop:ensure-class class-name
:metaclass (class-name
@@ -261,7 +263,7 @@ conventional case for namespace identifiers in Objective-C."
class-name-string))
:pointer class-ptr
:wrapped-foreign-class class-name-string
- :direct-superclasses (list (objcl-class-superclass/pointer class-ptr))))))))
+ :direct-superclasses (list superclass)))))))
(defun find-objc-meta-class (meta-class-name &optional errorp)