I was running into some problems with free() reporting unaligned pointers on my mac laptop, and decided to try switching on more debugging options. I tried building with SCM_DEBUG=1, and several files needed tweaking. Mostly in minor ways, due to -Werror -- %d for long values, stuff like that. I'll send out a patch soon.

But after I got guile building again, it died with this error in the snarf step (first message is my added instrumentation).

../../source/libguile/throw.c:626: non-pair accessed with SCM_CDR: x=312960 x->car=50d7f
Non-pair accessed with SCM_C[AD]R: `#<winder 312960>?

  for (wind_goal = scm_i_dynwinds ();
       !scm_is_eq (SCM_CDAR (wind_goal), jmpbuf);    <<<----
       wind_goal = SCM_CDR (wind_goal))
    ;

So it's got a cons cell, but the car of the cons cell is not a plain cons cell but a "winder" smob object. Perhaps the equivalent of WINDER_PROC or WINDER_DATA is what's desired here?

Ken


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

Reply via email to