diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-10 17:36:08 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-10 17:36:08 +0100 |
commit | 38747051bbe8bf893363c99374118e237e252cb7 (patch) | |
tree | de9bd9c4e7d27dc218a5d509c11a55f48087957b /Lisp | |
parent | ede0c056cba36f65464c9ac4f15d00b44eeacd4f (diff) |
System definition: Copy the system prior to compilation instead of after it.
darcs-hash:73cfed6be2a95e02cf75bcd8cc6b26abf3778a9e
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 |