diff --git a/extra/modern/slices/slices.factor b/extra/modern/slices/slices.factor index 5d1c2f9b3e..d3da9c5593 100644 --- a/extra/modern/slices/slices.factor +++ b/extra/modern/slices/slices.factor @@ -219,3 +219,10 @@ ERROR: subseq-expected-but-got-eof n string expected ; dup length 1 = [ -1 modify-to [ 1 - ] 2dip ] unless ; + +: rewind-slice ( n string slice -- n' string ) + pick [ + length swap [ - ] dip + ] [ + [ nip ] dip [ [ length ] bi@ - ] 2keep drop + ] if ; inline \ No newline at end of file