From 38938b79024c89ccbadd631e53b73797a98b0fb8 Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Mon, 18 Feb 2008 22:05:52 +0100 Subject: Do not allow foreign methods to return arrays. darcs-hash:60f115fc6d14d462f11dc77e1c97b68753f52e90 --- Lisp/method-invocation.lisp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Lisp/method-invocation.lisp') diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp index 0227db0..c16e20d 100644 --- a/Lisp/method-invocation.lisp +++ b/Lisp/method-invocation.lisp @@ -460,13 +460,17 @@ easier to use with __apply__. return-c-type) receiver selector)) - ((struct union array) + ((struct union) ;; 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)) + ((array) + (error "Method ~A of object ~A tried to return an array. ~ + It must be mistaken." + selector receiver)) ((:void) (values)) (otherwise (cffi:mem-ref objc-return-value-cell return-c-type)))))))) -- cgit v1.2.3