From 2ea79e9094475dfe36f9291d98765dfb74151155 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 9 Dec 2015 06:56:54 -0800 Subject: Bugfix: incorrect less comparison for ranges. * lib.c (less): Missing test for equality before comparing to fields. --- lib.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'lib.c') diff --git a/lib.c b/lib.c index acc55a90..e3d17386 100644 --- a/lib.c +++ b/lib.c @@ -3899,9 +3899,18 @@ tail: return tnil(lenl < lenr); } case RNG: - if (less(from(left), from(right))) - return t; - return less(to(left), to(right)); + { + val fl = from(left); + val fr = from(right); + + if (less(fl, fr)) + return t; + + if (equal(fl, fr)) + return less(to(left), to(right)); + + return nil; + } default: internal_error("unhandled case in less function"); } -- cgit v1.2.3