From e4cc2dd33c3d61352d78b0885c7721c352e1a442 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sat, 10 Mar 2018 11:11:59 +0900 Subject: [PATCH] default comparator compares numbers with = (issue #459) --- lib/srfi/128/comparators.scm | 4 +++- lib/srfi/128/test.sld | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/srfi/128/comparators.scm b/lib/srfi/128/comparators.scm index c186f5ff..2d135a73 100644 --- a/lib/srfi/128/comparators.scm +++ b/lib/srfi/128/comparators.scm @@ -178,7 +178,9 @@ (lambda (x y) (let lp ((ls (default-comparators))) (cond ((null? ls) - (equal? x y)) + (if (number? x) + (and (number? y) (= x y)) + (equal? x y))) ((and (comparator-test-type (car ls) x) (comparator-test-type (car ls) y)) ((comparator-equality-predicate (car ls)) x y)) diff --git a/lib/srfi/128/test.sld b/lib/srfi/128/test.sld index e0711c6d..07f61d25 100644 --- a/lib/srfi/128/test.sld +++ b/lib/srfi/128/test.sld @@ -155,6 +155,8 @@ (test-assert (not (