diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index fc4fa978fc..f39bf08e58 100755 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -670,12 +670,15 @@ PRIVATE> : unclip ( seq -- rest first ) [ rest ] [ first ] bi ; -: unclip-last ( seq -- rest last ) +: unclip-last ( seq -- butfirst last ) [ 1 head* ] [ peek ] bi ; : unclip-slice ( seq -- rest first ) [ rest-slice ] [ first ] bi ; +: unclip-last-slice ( seq -- butfirst last ) + [ 1 head-slice* ] [ peek ] bi ; + : ( seq -- slice ) dup slice? [ { } like ] when 0 over length rot ; inline diff --git a/extra/unicode/breaks/breaks.factor b/extra/unicode/breaks/breaks.factor index d8e4f8c24e..9ee65c0018 100644 --- a/extra/unicode/breaks/breaks.factor +++ b/extra/unicode/breaks/breaks.factor @@ -105,9 +105,6 @@ VALUE: grapheme-table : string-reverse ( str -- rts ) >graphemes reverse concat ; -: unclip-last-slice ( seq -- beginning last ) - dup 1 head-slice* swap peek ; - : last-grapheme ( str -- i ) unclip-last-slice grapheme-class swap [ grapheme-class dup rot grapheme-break? ] find-last-index ?1+ nip ;