From 184b2aaf9fa22a106a6e0158967cb36ce420973c Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Mon, 19 May 2014 07:08:39 +0900 Subject: [PATCH] Fixing bug in iset-map. --- lib/chibi/iset/constructors.scm | 2 +- tests/iset-tests.scm | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/chibi/iset/constructors.scm b/lib/chibi/iset/constructors.scm index 4d48c60f..1f33222d 100644 --- a/lib/chibi/iset/constructors.scm +++ b/lib/chibi/iset/constructors.scm @@ -220,7 +220,7 @@ (apply iset-delete! (iset-copy iset) args)) (define (iset-map proc iset) - (iset-fold (lambda (i is) (iset-adjoin! is i)) (make-iset) iset)) + (iset-fold (lambda (i is) (iset-adjoin! is (proc i))) (make-iset) iset)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; High-level set operations. diff --git a/tests/iset-tests.scm b/tests/iset-tests.scm index 9c0887f5..3c87b58e 100644 --- a/tests/iset-tests.scm +++ b/tests/iset-tests.scm @@ -94,4 +94,7 @@ (test-assert (iset-contains? (iset-union a b) 119)) (test-assert (iset-contains? (iset-union b a) 119))) +(test '(2 3 4) + (iset->list (iset-map (lambda (i) (+ i 1)) (iset 1 2 3)))) + (test-end)