diff --git a/library/tools/describe.factor b/library/tools/describe.factor index 57a76781f6..c4aaaf28d7 100644 --- a/library/tools/describe.factor +++ b/library/tools/describe.factor @@ -93,7 +93,8 @@ DEFER: describe [ hilite-index set dup hilite-quotation set 1 nesting-limit set - . + pprint + terpri ] with-scope ; : callstack. ( seq -- seq ) diff --git a/library/tools/interpreter.factor b/library/tools/interpreter.factor index 1a234706f6..ab8dff8027 100644 --- a/library/tools/interpreter.factor +++ b/library/tools/interpreter.factor @@ -99,16 +99,6 @@ SYMBOL: callframe-end : host-word ( word -- ) unit host-quot ; -: end-quot ( -- ) - callframe-scan get callframe get (host-quot) [ ] (meta-call) ; - -: end ( -- ) - save-callframe - meta-c [ V{ [ stop ] 0 1 } swap append ] change - meta-interp schedule-thread yield - V{ } clone meta-c set - [ ] (meta-call) ; - GENERIC: do-1 ( object -- ) M: word do-1 ( word -- ) @@ -144,4 +134,14 @@ M: object do ( object -- ) do-1 ; : step ( -- ) [ do-1 ] next ; -: into ( -- ) [ do ] next ; +: step-in ( -- ) [ do ] next ; + +: step-out ( -- ) + callframe-scan get callframe get (host-quot) [ ] (meta-call) ; + +: step-all ( -- ) + save-callframe + meta-c [ V{ [ stop ] 0 1 } swap append ] change + meta-interp schedule-thread yield + V{ } clone meta-c set + [ ] (meta-call) ; diff --git a/library/ui/tools/walker.factor b/library/ui/tools/walker.factor index 069355c011..0a74e405ae 100644 --- a/library/ui/tools/walker.factor +++ b/library/ui/tools/walker.factor @@ -46,9 +46,9 @@ TUPLE: walker-gadget track ds rs cs quot ; : ( -- gadget ) { { "Step" step } - { "Step in" into } - { "Step out" end-quot } - { "Step all" end } + { "Step in" step-in } + { "Step out" step-out } + { "Continue" step-all } } [ [ first2 [ walker-command ] curry ,