diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1996-10-05 16:55:06 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1996-10-05 16:55:06 +0000 |
commit | 1349bd530eb4afcd6cc08228162f0ec309483e90 (patch) | |
tree | e42e2a197497e982d0a144ac303aabeda25ad80b | |
parent | f3b85c26820d07b820d7159807e1ffd6786e50e0 (diff) | |
download | guile-1349bd530eb4afcd6cc08228162f0ec309483e90.tar.gz |
* boot-9.scm (error-catching-loop): Added handling of key
`switch-repl'.
* boot-9.scm: Name change %%bad-throw --> bad-throw.
-rw-r--r-- | ice-9/boot-9.scm | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm index c9ee6b6f6..a67afec93 100644 --- a/ice-9/boot-9.scm +++ b/ice-9/boot-9.scm @@ -595,11 +595,11 @@ (define (scm-error key subr message args rest) (throw key subr message args rest)) -;; %%bad-throw is the hook that is called upon a throw to a an unhandled +;; bad-throw is the hook that is called upon a throw to a an unhandled ;; key. If the key has a default handler (a throw-handler-default property), ;; it is applied to the throw. ;; -(define (%%bad-throw key . args) +(define (bad-throw key . args) (let ((default (symbol-property key 'throw-handler-default))) (or (and default (apply default key args)) (apply error "unhandled-exception:" key args)))) @@ -2095,6 +2095,9 @@ (pk 'quit args) #f) + ((switch-repl) + (apply throw 'switch-repl args)) + ((abort) ;; This is one of the closures that require ;; (set! first #f) above @@ -2108,7 +2111,7 @@ (else ;; This is the other cons-leak closure... (lambda () - (apply %%bad-throw key args)))))))) + (apply bad-throw key args)))))))) (and next (loop next)))) (loop (lambda () #t))) |