[CM] fn defined in C returns to wrong place

Gregg Reynolds dev at mobileink.com
Fri Aug 26 08:00:16 PDT 2022


On Fri, Aug 26, 2022 at 9:28 AM <bil at ccrma.stanford.edu> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cm-mail.stanford.edu/pipermail/cmdist/attachments/20220826/377c4bec/attachment.html>


More information about the Cmdist mailing list