ui.debugger: quotation stack effect wants ( .. -- * ), throw causes infinite loop, but rethrow works. change previous patch to rethrow everywhere.
parent
0188a1a510
commit
9427c78506
|
@ -15,7 +15,7 @@ IN: debugger.threads
|
|||
! ( error thread -- * )
|
||||
[
|
||||
dup initial-thread get-global eq? [
|
||||
die drop throw
|
||||
die drop rethrow
|
||||
] [
|
||||
[
|
||||
error-in-thread. nl
|
||||
|
|
|
@ -18,7 +18,7 @@ TUPLE: io-thread < thread ;
|
|||
"I/O wait"
|
||||
io-thread new-thread ;
|
||||
|
||||
M: io-thread error-in-thread die drop throw ;
|
||||
M: io-thread error-in-thread die drop rethrow ;
|
||||
|
||||
: start-io-thread ( -- )
|
||||
t io-thread-running? set-global
|
||||
|
|
|
@ -13,7 +13,7 @@ IN: ui.debugger
|
|||
|
||||
! ( error -- * )
|
||||
[
|
||||
ui-running? [ dup error-alert ] [ dup print-error ] if die
|
||||
ui-running? [ dup error-alert ] [ dup print-error ] if die rethrow
|
||||
] callback-error-hook set-global
|
||||
|
||||
M: world-error error.
|
||||
|
|
|
@ -119,7 +119,7 @@ GENERIC: error-in-thread ( error thread -- * )
|
|||
|
||||
SYMBOL: thread-error-hook ! ( error thread -- * )
|
||||
|
||||
thread-error-hook [ [ die drop throw ] ] initialize
|
||||
thread-error-hook [ [ die drop rethrow ] ] initialize
|
||||
|
||||
M: object error-in-thread
|
||||
thread-error-hook get-global call( error thread -- * ) ;
|
||||
|
@ -128,7 +128,7 @@ M: object error-in-thread
|
|||
|
||||
SYMBOL: callback-error-hook ! ( error -- * )
|
||||
|
||||
callback-error-hook [ [ die throw ] ] initialize
|
||||
callback-error-hook [ [ die rethrow ] ] initialize
|
||||
|
||||
: rethrow ( error -- * )
|
||||
dup save-error
|
||||
|
|
Loading…
Reference in New Issue