On Tue, Aug 23, 2011 at 12:36:44PM +0100, Richard Shann wrote: > I have defined a function with one needed and one optional arg, using > > scm_c_define_gsubr (name, 2, 0, 0, callback); > > in my function I need to test if the second argument is present, it > looks like I need > > scm_defined_p(sym, env) > > but, if so, how do I find the value of env for the top-level > environment?
Not shure I understand you here, Richard. Where would sym come from? If your function looks like this: (richards-function required-param an-optional-param) thane your c function needs exactly two parameters: ricks_c_func(SCM req, SCM opt) { ... if (!SCM_UNBNDP (opt)) { /* opt wasn't provided, so do something here */ } ... } Does that help? Cheers, Ralf Mattes > Richard Shann > >