summaryrefslogtreecommitdiff
path: root/Lisp/method-invocation.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-02-15 19:33:34 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-02-15 19:33:34 +0100
commit996fa5e19c1ec8603b99a4ce29b85b7af7468a78 (patch)
treea544291c00f53951ae979d8b1749212f0176919e /Lisp/method-invocation.lisp
parent30221c2f6a6384ddb6a3e8a9cc1f191f2791ce12 (diff)
Refine the public interface to Lisp-managed foreign structs and unions.
darcs-hash:b3c869d86d1e4655ec1562dade69cbdb93600eed
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r--Lisp/method-invocation.lisp7
1 files changed, 4 insertions, 3 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index 59b4ce4..750647f 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -455,15 +455,16 @@ easier to use with __apply__.
:pointer (cffi:mem-ref objc-return-value-cell
return-c-type))))
((:char :unsigned-char)
- ;; FIXME: This is non-trivial. See policy.lisp for
+ ;; FIXME? This is non-trivial. See policy.lisp for
;; details.
(objc-char->lisp-value (cffi:mem-ref objc-return-value-cell
return-c-type)
receiver
selector))
((struct union array)
- ;; The caller is responsible for FOREIGN-FREEing the
- ;; return value.
+ ;; The caller is responsible for preventing the return
+ ;; value from being garbage-collected by setting
+ ;; FOREIGN-VALUE-LISP-MANAGED-P to false.
(make-struct-wrapper objc-struct-return-value-cell
return-type
t))