guile-devel
[Top][All Lists]
Advanced

[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>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]