summaryrefslogtreecommitdiff
path: root/Lisp/libobjcl.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-20 19:11:42 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-20 19:11:42 +0100
commitc83595ccc398cd165a6c8dfa2344506e19dafbcd (patch)
treeaa4b0a8d2a312f83443bc9b52be558ba9de8aded /Lisp/libobjcl.lisp
parentabc3f637fa3e90cf361dfb00b4af15d2fce61a26 (diff)
Assign the metaclasses of metaclasses correctly.
darcs-hash:e393681b86a1b90b8023281fea1cff5b8fa33a44
Diffstat (limited to 'Lisp/libobjcl.lisp')
-rw-r--r--Lisp/libobjcl.lisp6
1 files changed, 3 insertions, 3 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index e6b1b9a..f13d298 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -419,8 +419,7 @@ conventional case for namespace identifiers in Objective-C."
;; our own, which will always get us the root metaclass.
(metaclass
(if non-meta-superclass
- (if (typep (class-of superclass)
- 'objective-c-meta-class)
+ (if (metaclass-fake-p (class-of superclass))
superclass
(class-of superclass))
(let ((fake-metaclass-name
@@ -429,7 +428,8 @@ conventional case for namespace identifiers in Objective-C."
(c2mop:ensure-class fake-metaclass-name
:metaclass 'objective-c-meta-class
:pointer class-ptr
- :direct-superclasses (list superclass)))))))
+ :direct-superclasses (list superclass)
+ :fake-p t))))))
(or (find-class class-name nil)
(c2mop:ensure-class class-name
:metaclass metaclass