From 5be3d8d2f73f538cfd8df0eca3f355b91e65f123 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 21 May 2009 23:17:45 +0000 Subject: [PATCH] changed the checkpoint computation to avoid interfereing with other parameters svn: r14913 --- collects/drscheme/private/rep.ss | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/collects/drscheme/private/rep.ss b/collects/drscheme/private/rep.ss index 9c8f5112aa..1e9fe99f6f 100644 --- a/collects/drscheme/private/rep.ss +++ b/collects/drscheme/private/rep.ss @@ -46,12 +46,12 @@ TODO (define checkpoints (make-weak-hasheq)) (define (call-with-stack-checkpoint thunk) (define checkpoint (current-continuation-marks)) - (with-handlers ([exn? (lambda (exn) - ;; nested ones take precedence - (unless (hash-has-key? checkpoints exn) - (hash-set! checkpoints exn checkpoint)) - (raise exn))]) - (thunk))) + (call-with-exception-handler + (λ (exn) + (unless (hash-has-key? checkpoints exn) + (hash-set! checkpoints exn checkpoint)) + exn) + thunk)) ;; returns the stack of the input exception, cutting off any tail that was ;; registered as a checkpoint (define (cut-stack-at-checkpoint exn)