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:
parent
4eb7c8f004
commit
67d655849a
1 changed files with 4 additions and 2 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue