continuations: rename catchstack* to (get-catchstack) for consistency.
parent
f88febc03e
commit
bee46baecb
|
@ -108,7 +108,7 @@ $nl
|
|||
|
||||
ABOUT: "continuations"
|
||||
|
||||
HELP: catchstack*
|
||||
HELP: (get-catchstack)
|
||||
{ $values { "catchstack" "a vector of continuations" } }
|
||||
{ $description "Outputs the current catchstack." } ;
|
||||
|
||||
|
|
|
@ -19,14 +19,14 @@ SYMBOL: restarts
|
|||
|
||||
<PRIVATE
|
||||
|
||||
: catchstack* ( -- catchstack )
|
||||
: (get-catchstack) ( -- catchstack )
|
||||
CONTEXT-OBJ-CATCHSTACK context-object { vector } declare ; inline
|
||||
|
||||
! We have to defeat some optimizations to make continuations work
|
||||
: dummy-1 ( -- obj ) f ;
|
||||
: dummy-2 ( obj -- obj ) ;
|
||||
|
||||
: get-catchstack ( -- catchstack ) catchstack* clone ; inline
|
||||
: get-catchstack ( -- catchstack ) (get-catchstack) clone ; inline
|
||||
|
||||
: (set-catchstack) ( catchstack -- )
|
||||
CONTEXT-OBJ-CATCHSTACK set-context-object ; inline
|
||||
|
@ -132,7 +132,7 @@ callback-error-hook [ [ die ] ] initialize
|
|||
|
||||
: rethrow ( error -- * )
|
||||
dup save-error
|
||||
catchstack* [
|
||||
(get-catchstack) [
|
||||
in-callback?
|
||||
[ callback-error-hook get-global call( error -- * ) ]
|
||||
[ OBJ-CURRENT-THREAD special-object error-in-thread ]
|
||||
|
@ -142,9 +142,9 @@ callback-error-hook [ [ die ] ] initialize
|
|||
: recover ( ..a try: ( ..a -- ..b ) recovery: ( ..a error -- ..b ) -- ..b )
|
||||
[
|
||||
[
|
||||
[ catchstack* push ] dip
|
||||
[ (get-catchstack) push ] dip
|
||||
call
|
||||
catchstack* pop*
|
||||
(get-catchstack) pop*
|
||||
] curry
|
||||
] dip ifcc ; inline
|
||||
|
||||
|
|
Loading…
Reference in New Issue