From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Marco Maggi" Newsgroups: gmane.lisp.guile.user Subject: saving and restoring the error stack trace Date: Thu, 24 Aug 2006 21:34:35 +0200 Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1156448146 11432 80.91.229.2 (24 Aug 2006 19:35:46 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 24 Aug 2006 19:35:46 +0000 (UTC) Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Aug 24 21:35:46 2006 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GGKzN-0003s8-Q8 for guile-user@m.gmane.org; Thu, 24 Aug 2006 21:35:42 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GGKzM-0006py-PZ for guile-user@m.gmane.org; Thu, 24 Aug 2006 15:35:40 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GGKyL-00066c-Jz for guile-user@gnu.org; Thu, 24 Aug 2006 15:34:37 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GGKyL-00066F-7h for guile-user@gnu.org; Thu, 24 Aug 2006 15:34:37 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GGKyK-00066B-VD for guile-user@gnu.org; Thu, 24 Aug 2006 15:34:36 -0400 Original-Received: from [62.241.4.164] (helo=relay-pt1.poste.it) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GGL6S-0007eR-7w for guile-user@gnu.org; Thu, 24 Aug 2006 15:43:00 -0400 Original-Received: from poste.it (192.168.144.99) by relay-pt1.poste.it (7.2.063) (authenticated as marco.maggi-ipsu@poste.it) id 44C8E79C0008FCC3 for guile-user@gnu.org; Thu, 24 Aug 2006 21:34:35 +0200 X-Sensitivity: 3 Original-To: "guile-user" X-XaM3-API-Version: 4.1 (B107) X-SenderIP: 62.10.49.161 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:5469 Archived-At: 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