[cffi-devel] slot paths and foreign-slot-value
Rick Taube
taube at uiuc.edu
Sat Oct 22 14:28:32 UTC 2005
hello, cffi is really great and im trying to move my program to it. my
problem: foreign-slot-value indicates that i should be able to provide
a "slot path":
foreign-slot-value ptr type &rest slot-names => object
however the definition of the function (cffi-luis-051011-1339)
apparently only allows one slot:
> Error in process listener(1): Extra arguments in (FOREIGN-SLOT-VALUE
E 'TMIDI-EV 'INFO 'NOTE 'PITCH) don't match lambda list (CFFI::PTR TYPE
CFFI::SLOT-NAME).
> While executing: CCL::%CHECK-EXTRA-ARGUMENTS
> Type :POP to abort.
Type :? for other options.
1 >
I searchd the mail list but didnt see a discussion of this, are "slot
paths" supported some other way that im not seeing, or do you intend to
add it? Ive got lots of functions like this to deal with:
(defun pitch (e &optional v)
"read or set the pitch of an event"
(if v
(setf (cffi:foreign-slot-value e 'tmidi-ev 'info 'note 'pitch) v)
(cffi:foreign-slot-value e 'tmidi-ev 'info 'note 'pitch)))
also, i was suprised that you dont push :cffi onto *features* when
cffi is loaded -- i think this would be useful for client programs to
adjust their compile/loading accordingly, is there some reason yhou
dont do this?
Rick Taube
Associate Professor, Composition/Theory
School of Music
University of Illinois, Urbana IL 61821 USA
Net: taube at uiuc
Fax: 217 244 8319
Vox: 217 244 2684
More information about the cffi-devel
mailing list