diff --git a/extra/ui/tools/walker/walker-tests.factor b/extra/ui/tools/walker/walker-tests.factor index 7ca8b8f2e9..04af885eff 100644 --- a/extra/ui/tools/walker/walker-tests.factor +++ b/extra/ui/tools/walker/walker-tests.factor @@ -65,4 +65,10 @@ IN: temporary [ ] [ yield ] unit-test [ t ] [ walker get-tool walker-active? ] unit-test + + [ ] [ "walker" get com-continue ] unit-test + + [ ] [ "walker" get com-continue ] unit-test + + [ ] [ "walker" get com-continue ] unit-test ] with-scope diff --git a/extra/ui/tools/walker/walker.factor b/extra/ui/tools/walker/walker.factor index 2ec4cd7dd6..fabdf26818 100644 --- a/extra/ui/tools/walker/walker.factor +++ b/extra/ui/tools/walker/walker.factor @@ -67,7 +67,11 @@ M: walker call-tool* ( continuation walker -- ) : com-continue ( walker -- ) #! Reset walker first, in case step-all ends up calling #! the walker again. - dup walker-interpreter swap reset-walker step-all ; + dup walker-active? [ + dup walker-interpreter swap reset-walker step-all + ] [ + drop + ] if ; : walker-help "ui-walker" help-window ;