From ab483eff9a8254adf127cdee178e14ba74f0a2b3 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Mon, 19 Sep 2016 17:19:00 +0200 Subject: tests: Refine exception handling. * tests/gpgscm/init.scm (catch): Bind all arguments to '*error*' in the error handler, update and fix comment. (*error-hook*): Revert to original definition. * tests/gpgscm/tests.scm (tr:do): Adapt accordingly. * tests/openpgp/issue2419.scm: Likewise. Signed-off-by: Justus Winter --- tests/gpgscm/init.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'tests/gpgscm/init.scm') diff --git a/tests/gpgscm/init.scm b/tests/gpgscm/init.scm index b32172b12..f8fd71a1b 100644 --- a/tests/gpgscm/init.scm +++ b/tests/gpgscm/init.scm @@ -544,13 +544,14 @@ ; ; "Catch" establishes a scope spanning multiple call-frames until ; another "catch" is encountered. Within the recovery expression -; the thrown exception is bound to *error*. +; the thrown exception is bound to *error*. Errors can be rethrown +; using (apply throw *error*). ; ; Exceptions are thrown with: ; ; (throw "message") ; -; If used outside a (catch ...), reverts to (error "message) +; If used outside a (catch ...), reverts to (error "message") (define *handlers* (list)) @@ -573,13 +574,12 @@ (macro (catch form) (let ((label (gensym))) `(call/cc (lambda (**exit**) - (push-handler (lambda (*error*) (**exit** ,(cadr form)))) + (push-handler (lambda *error* (**exit** ,(cadr form)))) (let ((,label (begin ,@(cddr form)))) (pop-handler) ,label))))) -(define (*error-hook* . args) - (throw args)) +(define *error-hook* throw) ;;;;; Definition of MAKE-ENVIRONMENT, to be used with two-argument EVAL -- cgit v1.2.3