[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: wrong-type-arg in scm_display_backtrace
From: |
William Morgan |
Subject: |
Re: wrong-type-arg in scm_display_backtrace |
Date: |
Tue, 7 Jan 2003 00:42:32 -0500 |
User-agent: |
Mutt/1.4i |
Excerpts (reformatted) from Neil Jerram's mail of 6 Jan 2003 (EST):
> I don't know; it looks OK to me.
Ok, it's good to know that I'm on the right track, at least.
> Perhaps you could try putting a breakpoint on ss_handler, where
> the-last-stack is set, then (assuming that setting makes it non-#f)
> step through from there to find out where it gets reset.
It seems as if scm_make_stack is always returning #f. In particular, the
code in throw.c :
static SCM
ss_handler (void *data SCM_UNUSED, SCM tag, SCM throw_args)
{
/* Save the stack */
scm_fluid_set_x (SCM_VARIABLE_REF (scm_the_last_stack_fluid_var),
scm_make_stack (SCM_BOOL_T, SCM_EOL));
always sets scm_the_last_stack_fluid_var to #f because of this. Why
would this be? I thought the whole point of lazy catches was to preserve
the call stack...
Anyways, I have looked at scm_make_stack briefly but haven't been able
to make head or tail of it yet.
> What is your Guile version, BTW?
I'm using 1.6.1. I have a small .c file that demonstrates this if you're
interested.
Thanks again for all of your help.
--
William <address@hidden>