Ciao, I am interfacing the GSL ordinary differential equations solver with Guile. I have the following stack of invocations:
my-scheme-implemented-scheme-function | ->my-C-implemented-scheme-function | ->gsl_odeiv_evolve_apply | ->my_C_callback | ->scm_internal_catch | ->my_other_C_callback | ->my-other-scheme-impl-scheme-function If an error occurs in the invocation of my-other-scheme-impl-scheme-function I want a full stack trace of the error be shown to the user that invoked my-scheme-implemented-scheme-function at the REPL. I cannot let the dynwind mechanism pass through gsl_odeiv_evolve_apply, that is why I am using scm_internal_catch. But in this way if I rethrow the exception in my-C-implemented-scheme-function I loose the stack trace that includes the body of my-other-scheme-impl-scheme-function. For the ones that know how Tcl works: what I want is the same as saving the "errorInfo" global variable and restoring it later. Is there a way? -- Marco Maggi "They say jump!, you say how high?" Rage Against the Machine - "Bullet in the Head" _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user