X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=blobdiff_plain;f=basis%2Fxmode%2Fmarker%2Fmarker.factor;h=32fae3c3245f06b1b39eddd9a2e12a10fd6cf45a;hp=2b09ffdd5536b4bb1aa2dc3a26eeb839378a9697;hb=f90846f78e23f66d84266518b314a6a2dcc66f16;hpb=2f59f72ed58809c266ad1d2a777be7285d246a06 diff --git a/basis/xmode/marker/marker.factor b/basis/xmode/marker/marker.factor index 2b09ffdd55..32fae3c324 100644 --- a/basis/xmode/marker/marker.factor +++ b/basis/xmode/marker/marker.factor @@ -110,13 +110,11 @@ M: regexp text-matches? : nth-match ( match regexp n -- slice/f ) match-group-regexp [ skip-first-match ] [ first-match ] bi* ; -:: update-match-group ( str match regexp n -- str' ) - n H{ } [ 1 + CHAR: $ swap "" 2sequence ] cache :> x - x str subseq? [ - x match "" like regexp n nth-match str replace - ] [ str ] if ; +: update-match-group ( str match regexp n -- str' ) + [ nth-match ] [ CHAR: 1 + "$%c" sprintf ] bi swap replace ; : update-match-groups ( str match regexp -- str' ) + [ >string ] dip dup #match-groups [ update-match-group ] 2with each-integer ; GENERIC: fixup-end ( match regexp end -- end' )