diff --git a/basis/combinators/smart/smart-tests.factor b/basis/combinators/smart/smart-tests.factor index ec05bd67c3..8933c4bb39 100644 --- a/basis/combinators/smart/smart-tests.factor +++ b/basis/combinators/smart/smart-tests.factor @@ -73,3 +73,6 @@ IN: combinators.smart.tests [ ] [ 3 [ even? ] [ 2 + ] smart-when* ] unit-test [ 3 ] [ 2 [ odd? ] [ 3 ] smart-unless* ] unit-test [ 3 ] [ 3 [ odd? ] [ 5 ] smart-unless* ] unit-test + +[ -1 ] [ 1 2 [ + odd? ] [ - ] smart-when* ] unit-test +[ ] [ 2 2 [ + odd? ] [ ] smart-unless* ] unit-test diff --git a/basis/combinators/smart/smart.factor b/basis/combinators/smart/smart.factor index c4bb35ef4e..a907d2d297 100644 --- a/basis/combinators/smart/smart.factor +++ b/basis/combinators/smart/smart.factor @@ -50,7 +50,7 @@ MACRO: nullary ( quot -- quot' ) dup outputs '[ @ _ ndrop ] ; MACRO: dropping ( quot -- quot' ) - outputs '[ [ _ ndrop ] ] ; + inputs '[ [ _ ndrop ] ] ; MACRO: balancing ( quot -- quot' ) '[ _ [ preserving ] [ dropping ] bi ] ;