summaryrefslogtreecommitdiff
path: root/Lisp/instance-management.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-17 18:09:53 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-17 18:09:53 +0100
commit0667c31269d99a7bec708559d84845a69b32dec3 (patch)
treea9f6341a6c0577bcb65df3231925ee201e06b69b /Lisp/instance-management.lisp
parentc36553fe8b000e6d2d353aa4f803210f60fa1955 (diff)
Fix INTERN-LISP-MANAGED-FOREIGN-INSTANCE.
darcs-hash:952721028097b9740e84d6a6d7a4cf43537a1ef5
Diffstat (limited to 'Lisp/instance-management.lisp')
-rw-r--r--Lisp/instance-management.lisp11
1 files changed, 6 insertions, 5 deletions
diff --git a/Lisp/instance-management.lisp b/Lisp/instance-management.lisp
index ab2e0bb..371e78f 100644
--- a/Lisp/instance-management.lisp
+++ b/Lisp/instance-management.lisp
@@ -23,11 +23,12 @@
(defun intern-lisp-managed-foreign-instance (&rest initargs &key pointer)
(let ((key (cffi:pointer-address pointer)))
(or (gethash key *lisp-managed-instances* nil)
- (apply #'make-instance
- (intern-pointer-wrapper
- 'class
- :pointer (%objcl-object-get-class pointer))
- initargs))))
+ (setf (gethash key *lisp-managed-instances*)
+ (apply #'make-instance
+ (intern-pointer-wrapper
+ 'class
+ :pointer (%objcl-object-get-class pointer))
+ initargs)))))
(defun unintern-lisp-managed-foreign-instance (instance)
(remhash (cffi:pointer-address (pointer-to instance))