summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-19 14:20:28 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-19 14:20:28 +0100
commitedd93c244d8e689ce32fa5b77a917dc7fd082561 (patch)
tree2efb52ef41349fb0464fb982d4cb0356dd16e7c8
parent4b98e8d6f54256810b243afe9ea9abf5ad6d445b (diff)
Fix method invocation on Mac OS X.
darcs-hash:389135940affce22558648db2fd7e25cebc551bd
-rw-r--r--Lisp/method-invocation.lisp9
1 files changed, 4 insertions, 5 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index 29ad3c6..4a3c209 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -296,19 +296,18 @@ easier to use with __apply__.
&aux (class-ptr (%objcl-object-get-class (pointer receiver))))
(cons (cffi:pointer-address class-ptr)
(cffi:pointer-address (pointer-to selector)))
- (let* ((class (object-get-class receiver))
- (signature
+ (let* ((signature
(objc-or (if (object-is-class-p receiver)
- (primitive-invoke class
+ (primitive-invoke receiver
"methodSignatureForSelector:"
'id
selector)
- (primitive-invoke class
+ (primitive-invoke (object-get-class receiver)
"instanceMethodSignatureForSelector:"
'id
selector))
(error (make-condition 'message-not-understood
- :class class
+ :class (object-get-class receiver)
:selector selector))))
(argc (primitive-invoke signature "numberOfArguments" :unsigned-int))
(method-return-typestring (primitive-invoke signature