This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I've been working on a system which uses Guile to initialize C++ objects. I'm trying to move over to guile-1.3 (my typing's so bad I need readline) but code that worked under 1.2 doesn't under 1.3. The function causing the error is a C++ function which takes a SCM record as it's argument & pulls the record apart and sets the appropriate C++ values. Under 1.3 I get the error: guile> (add-obs (obs (color 0.5 1.0 0.0) ... '(-5 -5) '( 1 -3) '( 2 -1) '(-4 2) 1 "ObsTest" 0.0)) ERROR: In procedure apply in expression (add-obs (obs # # ...)): ERROR: Wrong type argument in position 1: %S ABORT: (wrong-type-arg) I'm not even sure what it means. My guess is that the record is not immediate and non-immediates are no longer allowed as C args. Is this the case? Or can you still pass anything into C? What's the right way to do this type of thing? Are there any quick and nasty hacks around it (-DRECKLESS ??) ? Any help would be greatly appreciated. Brad Bowman