From: Doug Coleman Date: Tue, 21 Feb 2023 03:14:21 +0000 (-0600) Subject: sequence: move check-grow-copy X-Git-Tag: 0.99~533 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=1e7a67e84ee937dc935c2dd18b8327c1db9d7809 sequence: move check-grow-copy --- diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 12804ccb5c..1716e5ce97 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -326,9 +326,6 @@ C: copier : bounds-check-head ( n seq -- n seq ) over 0 < [ bounds-error ] when ; inline -: check-grow-copy ( dst n src -- dst src n ) - over [ lengthd + lengthen ] 2keep ; inline - : copy-unsafe ( src i dst -- ) [ [ length check-length 0 ] keep ] 2dip (copy) drop ; inline diff --git a/extra/sequences/seq/seq.factor b/extra/sequences/seq/seq.factor index 817acd0661..d80ed51147 100644 --- a/extra/sequences/seq/seq.factor +++ b/extra/sequences/seq/seq.factor @@ -23,6 +23,9 @@ M: sequence seq-shorten 2dup lengthd > [ seq-set-length ] [ drop ] if ; inline : seq-push-all ( dst src -- dst ) [ length seq-grow-copy ] keep seq-copy-unsafe ; inline +: check-grow-copy ( dst n src -- dst src n ) + over [ lengthd + lengthen ] 2keep ; inline + : seq-copy ( dst dst-n src -- dst ) check-grow-copy seq-copy-unsafe ; inline