add an exit handler setting for the drracket:eval:* functions
(and then adjust the drracket-repl exit handler to take precedence over that one) closes PR 12071
This commit is contained in:
parent
7820db9f8d
commit
1c2f4ab05c
|
@ -167,6 +167,11 @@
|
|||
(for-each (λ (snip-class) (send (get-the-snip-class-list) add snip-class))
|
||||
snip-classes)
|
||||
|
||||
(let ([cust (current-custodian)])
|
||||
(define (drracket-plain-exit-handler arg)
|
||||
(custodian-shutdown-all cust))
|
||||
(exit-handler drracket-plain-exit-handler))
|
||||
|
||||
(current-thread-group (make-thread-group))
|
||||
(current-command-line-arguments #())
|
||||
(current-pseudo-random-generator (make-pseudo-random-generator))
|
||||
|
|
|
@ -1280,7 +1280,8 @@ TODO
|
|||
(queue-callback (λ () (new-log-message vec))))
|
||||
(loop))))))))
|
||||
|
||||
(let ([drscheme-exit-handler
|
||||
(initialize-parameters snip-classes)
|
||||
(let ([drracket-exit-handler
|
||||
(λ (x)
|
||||
(parameterize-break
|
||||
#f
|
||||
|
@ -1289,15 +1290,13 @@ TODO
|
|||
(queue-callback
|
||||
(λ ()
|
||||
(set! user-exit-code
|
||||
(if (and (integer? x)
|
||||
(<= 0 x 255))
|
||||
x
|
||||
(if (exact-integer? x)
|
||||
(modulo x 256)
|
||||
0))
|
||||
(semaphore-post s))))
|
||||
(semaphore-wait s)
|
||||
(custodian-shutdown-all user-custodian))))])
|
||||
(exit-handler drscheme-exit-handler))
|
||||
(initialize-parameters snip-classes))))
|
||||
(exit-handler drracket-exit-handler)))))
|
||||
|
||||
|
||||
(queue-user/wait
|
||||
|
|
Loading…
Reference in New Issue
Block a user