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]

Re: Wrong type argument in position 1: %S



> Right... I see what's going on.  SCM_UNDEFINED effectively truncates
> the argument list.
> 
> The thing is, code should never be trying to print SCM_UNDEFINED in
> the first place.  It's not a valid Scheme value.  The error should be
> caught and reported earlier.

This IS the error reporting! A function has tried to operate on a value
that is SCM_UNDEFINED and is now making an attempt to complain about it.

Even if you clean up your guile-core routines so that this can never happen,
it may still occur as a result of buggy SMOB code when someone is trying to
write an extension -- the error reporting really should be able to give an
accurate report of what has occured (i.e. a function has recieved SCM_UNDEFINED
as a non-optional argument). It can be caused by something as simple as
getting the number of optional/non-optional arguments wrong when registering
a C function to scheme... how are you going to trap that?

	- Tel