Hi, I wonder about this code:
int main(){ do_lots_of_things(); s7scheme *s7 = s7_init(); load_some_scheme_code(s7); do_lots_of_more_things(); s7_pointer data = s7_call(s7, s7_name_to_value(s7, "get-some-data"), s7_list(s7, 0)); if (!s7_is_number(data)) s7_error(s7, s7_make_symbol(s7, "wrong-data"), s7_list(s7, 1, s7_make_string(s7, "got wrong data"")) ); printf("hello\n"); do_even_more_things(); return 0; } Is this fully supported to work in s7? Will "hello" always be printed to the terminal even if "get-some-data" doesn't return a number? (i.e. could 's7_error' call 'longjmp' or similar functions in the code above?) I do this to make my *rootlet-redefinition-hook* hook print out history of the last executed scheme code. It seems to work just fine, but I don't feel confident enough about what's happening. Thanks!
_______________________________________________ Cmdist mailing list Cmdist@ccrma.stanford.edu https://cm-mail.stanford.edu/mailman/listinfo/cmdist