From 996fa5e19c1ec8603b99a4ce29b85b7af7468a78 Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Fri, 15 Feb 2008 19:33:34 +0100 Subject: Refine the public interface to Lisp-managed foreign structs and unions. darcs-hash:b3c869d86d1e4655ec1562dade69cbdb93600eed --- Lisp/method-invocation.lisp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Lisp/method-invocation.lisp') 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)) -- cgit v1.2.3