1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 22:10:21 +02:00

call-with-error-handling pass-keys w/ procedural handlers fix

* module/system/repl/error-handling.scm (call-with-error-handling):
  Respect the pass-keys set for procedural on-error and post-error
  handlers.
This commit is contained in:
Andy Wingo 2010-11-12 12:08:54 +01:00
parent 4eb7c8f004
commit 67d655849a

View file

@ -125,7 +125,8 @@
(apply throw key args))))
(else
(if (procedure? post-error)
post-error ; a handler proc
(lambda (k . args)
(apply (if (memq k pass-keys) throw post-error) k args))
(error "Unknown post-error strategy" post-error))))
(case on-error
@ -158,7 +159,8 @@
#t))
(else
(if (procedure? on-error)
on-error ; pre-unwind handler
(lambda (k . args)
(apply (if (memq k pass-keys) throw on-error) k args))
(error "Unknown on-error strategy" on-error)))))))
(define-syntax with-error-handling