From 6dc49d6014d2e444d1bcda407a8a03e222411bdb Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sat, 14 Jul 2012 15:12:18 -0700 Subject: [PATCH] sequences.extras: bounds-check in rotate! and do exchange-unsafe. --- extra/sequences/extras/extras.factor | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index a515a9dba5..6805f7a268 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -119,9 +119,9 @@ IN: sequences.extras cut prepend ; :: rotate! ( seq n -- ) - seq length :> end - n 0 n [ 2dup = ] [ - [ seq exchange ] [ [ 1 + ] bi@ ] 2bi + n seq bounds-check length :> end + 0 n [ 2dup = ] [ + [ seq exchange-unsafe ] [ [ 1 + ] bi@ ] 2bi dup end = [ drop over ] when 2over = [ -rot nip over ] when ] until 3drop ;