On Fri, Aug 26, 2022 at 9:28 AM <[email protected]> wrote:

> *error-hook* is only called if there is no catch; it resets the s7 stack
> when it returns, so you're back at the top level.  My first thought is
> that you need a catch in convert.scm where you do the s7_call.  Maybe
> I have the wrong model of what's happening.
>
> The s7 stack can be viewed via (*s7* 'stack); it is independent of the
> C stack (I assume that's what you're seeing with backtrace).  I don't
> think the GC is the culprit.  s7_show_stack can give an abbreviated
> view of the s7 stack from C (you'll need a declaration -- it's not
> in s7.h, but it is accessible globally -- I thought of it as a
> debugging aid -- (*s7* 'stack) is sometimes very verbose).
>
> Thanks, that should be enough for further debugging.  I had completely
overlooked the s7 stack as distinct from the C stack. Pretty  sure at this
point it's a matter of getting my error management house in order. Which I
needed to to anyway; like a lot of stuff there's a (large) element of
seat-of-the-pants, hack it till it seems to work and move on. Actually
understanding How Things Work is sometimes useful, I find. ;)

Gregg
_______________________________________________
Cmdist mailing list
[email protected]
https://cm-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to