summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 15:52:39 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 15:52:39 +0100
commitae1bcdbaef5bb544b61ecd234d4054ea782c30b2 (patch)
treef40b5f142cb43124169d4b6cf934b6906cb0a2a3
parentff1af1b0a3a0c76678c24327069e611055f2580c (diff)
Omit the selector argument when forwarding foreign invocations to generic functions.
darcs-hash:d0e02549886461cd7837b70b70013be9e2ac507c
-rw-r--r--Lisp/method-definition.lisp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Lisp/method-definition.lisp b/Lisp/method-definition.lisp
index 187da3c..0179ae8 100644
--- a/Lisp/method-definition.lisp
+++ b/Lisp/method-definition.lisp
@@ -121,7 +121,10 @@
`(defcallback ,callback-name
,(typespec->c-type return-type)
,cffi-lambda-list
- (,(generic-function-name gf) ,@arguments)))))
+ (,(generic-function-name gf)
+ ;; Leave the second argument (the
+ ;; selector) out.
+ ,@(list* (car arguments) (cddr arguments)))))))
(let ((callback (get-callback callback-name)))
(with-foreign-object (arg-typestring-buffer :string
(- (length arg-typestrings) 2))