if (CHECK_APPLY && SCM_TRAPS_P)\ if (SCM_APPLY_FRAME_P || (SCM_TRACE_P && PROCTRACEP (proc)))\
This is because PROCTRACEP uses scm_procedure_property, which itself uses apply if proc is not a closure.
I think the fix (which works for me in 1.6.5) is to redefine PROCTRACEP to use a more targeted function, like this:
#define PROCTRACEP(x) closure_traced_p (x)
SCM closure_traced_p (SCM p)
{
if (!SCM_CLOSUREP (p))
return 0;
return SCM_NIMP (scm_sloppy_assq (scm_sym_trace, SCM_PROCPROPS (p)));
}Thoughts? Once the fix is agreed, I suggest that this should go into 1.6.x as well as HEAD.
Regards,
Neil
_______________________________________________ Bug-guile mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-guile
