summaryrefslogtreecommitdiff
path: root/Lisp/memory-management.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-16 21:58:48 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-16 21:58:48 +0100
commitc61f86dce1eb244fb775e74043070e32e6fdcaaf (patch)
tree7c6d0a4763921321c331462e8e9b925a8fa34beb /Lisp/memory-management.lisp
parent23aeccec01d4e888885cca03c6557f2f0542ab0c (diff)
Add module: instance-management.
darcs-hash:79549f0b837006321061a524ad376df397a9ab5a
Diffstat (limited to 'Lisp/memory-management.lisp')
-rw-r--r--Lisp/memory-management.lisp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Lisp/memory-management.lisp b/Lisp/memory-management.lisp
index 3d4685d..b625b8f 100644
--- a/Lisp/memory-management.lisp
+++ b/Lisp/memory-management.lisp
@@ -37,7 +37,10 @@
(find-objc-meta-class-by-name (%objcl-class-name pointer))))
((%objcl-object-is-class pointer)
(return-from intern-pointer-wrapper
- (find-objc-class-by-name (%objcl-class-name pointer))))))
+ (find-objc-class-by-name (%objcl-class-name pointer))))
+ ((objcl-object-backed-by-lisp-class-p/pointer pointer)
+ (return-from intern-pointer-wrapper
+ (apply #'intern-lisp-managed-foreign-instance initargs)))))
(let* ((hash-table (ecase class
((id) *id-objects*)
((exception) *exception-objects*)