summaryrefslogtreecommitdiff
path: root/Lisp/libobjcl.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-12-04 21:12:35 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-12-04 21:12:35 +0100
commiteb9a722a75c7315da50844444717e2dcf6f069e4 (patch)
tree5dc65476bd98298bca1ca14e96694381519089af /Lisp/libobjcl.lisp
parent7d86d96c3aded01c04bc6b02d54c115a7555f1f8 (diff)
Automatically register Objective-C classes used as superclasses.
darcs-hash:928ea318abd6914917d42d77c8581dd4c3ee67d7
Diffstat (limited to 'Lisp/libobjcl.lisp')
-rw-r--r--Lisp/libobjcl.lisp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index 939f3b3..b5c6f27 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -346,7 +346,10 @@ conventional case for namespace identifiers in Objective-C."
;; the way as well.
(let ((class-name (objc-class-name->symbol class-name-string))
(class-ptr (%objcl-find-class class-name-string)))
- (or (find-class class-name nil)
+ (or (let ((lisp-class (find-class class-name nil)))
+ ;; FORWARD-REFERENCED-CLASSes aren't what we want!
+ (and (typep lisp-class 'objective-c-class)
+ lisp-class))
(if (objc-pointer-null class-ptr)
nil
(let ((superclass (let ((potential-superclass