From 4e25e065a41d88ae9b58378957c8c6de9b7545c6 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 5 Mar 2021 08:27:38 -0500 Subject: utils: Handle negative increment in for-range. --- chickadee/utils.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'chickadee/utils.scm') diff --git a/chickadee/utils.scm b/chickadee/utils.scm index e2a20c1..8869e8d 100644 --- a/chickadee/utils.scm +++ b/chickadee/utils.scm @@ -40,11 +40,12 @@ (e end) (reverse? (< e s)) (start* (if reverse? e s)) - (end* (if reverse? s e))) + (end* (if reverse? s e)) + (inc* (abs inc))) (let loop ((var start*)) (when (< var end*) body ... - (loop (+ var inc)))))) + (loop (+ var inc*)))))) ((_ ((var end start)) body ...) (for-range ((var end start 1)) body ...)) ((_ ((var end)) body ...) -- cgit v1.2.3