[EMAIL PROTECTED] (Han-Wen Nienhuys) writes:

> For starters, we could figure out why --debug doesn't work.

Progress so far...

In 1.6.x, the backtrace and full error information is generated by
this code towards the end of scm_ithrow() for the case where there
isn't a matching catch:

  if (scm_is_null (winds))
    {
      scm_handle_by_message (NULL, key, args);
      abort ();
    }

The backtrace code is inside scm_handle_by_message.

In 1.7.x, we don't call scm_handle_by_message, because there is a
matching catch which was set up as part of scm_with_guile.  The C
backtrace after jumping back out to this catch is:

#0  scm_internal_catch (tag=0x1, body=0x40044850 <c_body>, 
    body_data=0xbffffbe0, handler=0x40044880 <c_handler>, 
    handler_data=0xbffffbe0) at throw.c:158
#1  0x4004482c in scm_i_with_continuation_barrier (body=0x1, body_data=0x1, 
    handler=0x1, handler_data=0x1) at continuations.c:336
#2  0x40044913 in scm_c_with_continuation_barrier (func=0x1, data=0x1)
    at continuations.c:378
#3  0x400b53a0 in scm_i_with_guile_and_parent (func=0x1, data=0x1, parent=0x1)
    at threads.c:645
#4  0x400b5350 in scm_with_guile (func=0x1, data=0x1) at threads.c:633
#5  0x400732a1 in scm_boot_guile (argc=1, argv=0x1, main_func=0x1, closure=0x1)
    at init.c:350
#6  0x080489c6 in main (argc=1, argv=0x1) at guile.c:74

So it looks like there needs to be some scm_handle_by_message-like
code somewhere in this call stack.  Investigation continuing...

     Neil



_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to