<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 26, 2022 at 9:28 AM <<a href="mailto:bil@ccrma.stanford.edu">bil@ccrma.stanford.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">*error-hook* is only called if there is no catch; it resets the s7 stack<br>
when it returns, so you're back at the top level. My first thought is<br>
that you need a catch in convert.scm where you do the s7_call. Maybe<br>
I have the wrong model of what's happening.<br>
<br>
The s7 stack can be viewed via (*s7* 'stack); it is independent of the<br>
C stack (I assume that's what you're seeing with backtrace). I don't<br>
think the GC is the culprit. s7_show_stack can give an abbreviated<br>
view of the s7 stack from C (you'll need a declaration -- it's not<br>
in s7.h, but it is accessible globally -- I thought of it as a<br>
debugging aid -- (*s7* 'stack) is sometimes very verbose).<br>
<br></blockquote><div>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. ;)</div><div><br></div><div>Gregg</div></div></div>