359.2, collects changes
svn: r5143 original commit: cf0b303497763314db7f530a6e2d2010ffe44eac
This commit is contained in:
parent
c2750517a4
commit
9b81acb247
|
@ -156,11 +156,11 @@
|
|||
(install-timer (run-interval) return)
|
||||
(unless (is-exn?)
|
||||
(begin-action)
|
||||
(parameterize ([current-exception-handler
|
||||
(call-with-exception-handler
|
||||
(λ (exn)
|
||||
(end-action-with-error exn)
|
||||
((error-escape-handler)))])
|
||||
(thunk))
|
||||
((error-escape-handler)))
|
||||
thunk)
|
||||
(end-action)))]
|
||||
|
||||
[return (λ () (semaphore-post sem))])
|
||||
|
|
|
@ -50,16 +50,16 @@
|
|||
(lambda ()
|
||||
(set! old-paramz (current-parameterization))
|
||||
(set! old-break-paramz (current-break-parameterization))
|
||||
(parameterize ([error-value->string-handler entered-err-string-handler]
|
||||
[current-exception-handler
|
||||
(lambda (exn)
|
||||
(parameterize ([error-value->string-handler entered-err-string-handler])
|
||||
(with-handlers ([void (lambda (exn)
|
||||
;; Get out of atomic region before letting
|
||||
;; an exception handler work
|
||||
(k (lambda () (raise exn))))])
|
||||
(parameterize-break #f
|
||||
(parameterize-break
|
||||
#f
|
||||
(call-with-values
|
||||
f
|
||||
(lambda args (lambda () (apply values args)))))))
|
||||
(lambda args (lambda () (apply values args))))))))
|
||||
(lambda ()
|
||||
(set! monitor-owner #f)
|
||||
(semaphore-post monitor-sema)
|
||||
|
|
|
@ -120,7 +120,10 @@
|
|||
void
|
||||
(lambda ()
|
||||
(call-with-values
|
||||
(lambda () (eval (read (open-input-string expr-str))))
|
||||
(lambda () (call-with-continuation-prompt
|
||||
(lambda () (eval (cons
|
||||
'#%top-interaction
|
||||
(read (open-input-string expr-str)))))))
|
||||
(lambda results
|
||||
(for-each
|
||||
(lambda (v)
|
||||
|
|
|
@ -208,7 +208,12 @@
|
|||
(let ([exp (read-syntax src in-port)])
|
||||
(if (eof-object? exp)
|
||||
(apply values last-time-values)
|
||||
(call-with-values (lambda () (eval exp))
|
||||
(call-with-values (lambda () (call-with-continuation-prompt
|
||||
(lambda () (eval
|
||||
(datum->syntax-object
|
||||
#f
|
||||
(cons '#%top-interaction exp)
|
||||
exp)))))
|
||||
(lambda x (loop x)))))))))
|
||||
(lambda ()
|
||||
(close-input-port in-port)))))
|
||||
|
|
|
@ -63,13 +63,17 @@
|
|||
[port (current-output-port)])
|
||||
(event-dispatch-handler
|
||||
(lambda (evt)
|
||||
(parameterize ([current-exception-handler
|
||||
(let ([oe (current-exception-handler)])
|
||||
(parameterize ([uncaught-exception-handler
|
||||
(let ([oe (uncaught-exception-handler)])
|
||||
(lambda (exn)
|
||||
(protect
|
||||
(lambda ()
|
||||
(set! errs (cons exn errs))))
|
||||
(oe exn)))])
|
||||
(od evt)))))
|
||||
(call-with-exception-handler
|
||||
(lambda (exn)
|
||||
((uncaught-exception-handler) exn))
|
||||
(lambda ()
|
||||
(od evt)))))))
|
||||
|
||||
(yield (make-semaphore 0)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user