diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-24 13:26:39 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-03-24 13:26:39 +0100 |
commit | 1deb19a20e934084cda4499e6930e35b0d2777c3 (patch) | |
tree | 830105f0b5d7eea5b92c62c3cde761325f6d6353 /Lisp/method-invocation.lisp | |
parent | 3b01c27ac549612eaa317ea24af825b2a38d39c1 (diff) |
Wrap Lisp values when trying to send them messages.
darcs-hash:c7cffd49bb312b7a6d88e3a5d29f3f5446827120
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r-- | Lisp/method-invocation.lisp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp index 4a3c209..9bb8a46 100644 --- a/Lisp/method-invocation.lisp +++ b/Lisp/method-invocation.lisp @@ -207,7 +207,13 @@ easier to use with __apply__. __invoke__" - (invoke-by-name-super-v receiver method-name nil args)) + (invoke-by-name-super-v (typecase receiver + (symbol (find-objc-class receiver)) + ((or id objective-c-class) receiver) + (t (pointer receiver))) + method-name + nil + args)) (defun invoke-by-name-super-v (receiver method-name superclass-for-send-super |