diff --git a/extra/suffix-arrays/suffix-arrays.factor b/extra/suffix-arrays/suffix-arrays.factor index 719496243c..b181ba9d60 100755 --- a/extra/suffix-arrays/suffix-arrays.factor +++ b/extra/suffix-arrays/suffix-arrays.factor @@ -22,10 +22,9 @@ IN: suffix-arrays : ( from/f to/f seq -- slice ) [ tuck - [ drop [ 0 ] unless* ] - [ dupd length ? ] 2bi* + [ drop 0 or ] [ length or ] 2bi* [ min ] keep - ] keep ; + ] keep ; inline PRIVATE> @@ -35,6 +34,6 @@ PRIVATE> : SA{ \ } [ >suffix-array ] parse-literal ; parsing : query ( begin suffix-array -- matches ) - 2dup find-index + 2dup find-index dup [ -rot [ from-to ] keep [ seq>> ] map prune ] - [ 2drop { } ] if* ; + [ 3drop { } ] if ;