diff --git a/basis/peg/peg.factor b/basis/peg/peg.factor index ac1c525de7..1ac261494b 100644 --- a/basis/peg/peg.factor +++ b/basis/peg/peg.factor @@ -345,15 +345,15 @@ M: token-parser (compile) ( peg -- quot ) TUPLE: satisfy-parser quot ; : parse-satisfy ( input quot -- result ) - swap dup empty? [ - 2drop f + swap [ + drop f ] [ unclip-slice rot dupd call [ ] [ 2drop f ] if - ] if ; inline + ] if-empty ; inline M: satisfy-parser (compile) quot>> '[ input-slice _ parse-satisfy ] ;