summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1996-10-05 16:55:06 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1996-10-05 16:55:06 +0000
commit1349bd530eb4afcd6cc08228162f0ec309483e90 (patch)
treee42e2a197497e982d0a144ac303aabeda25ad80b
parentf3b85c26820d07b820d7159807e1ffd6786e50e0 (diff)
downloadguile-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.scm9
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)))