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@uiuc Fax: 217 244 8319 Vox: 217 244 2684
Rick Taube taube@uiuc.edu writes:
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":
That isn't implemented yet, sorry.
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?
I guess not. I'll do that unless someone has a (good?) reason not to.