~ chicken-core (chicken-5) 58df78eea09328057028a086224c98c35bec7f35
commit 58df78eea09328057028a086224c98c35bec7f35 Author: Peter Bex <Peter.Bex@xs4all.nl> AuthorDate: Fri Sep 24 22:36:17 2010 +0200 Commit: Peter Bex <Peter.Bex@xs4all.nl> CommitDate: Fri Sep 24 22:36:17 2010 +0200 Apply upstream changeset 9718c63d6f58 (Fix joining algorithm in cset-union to always iterate with the new value consed onto the correct list to cause it to join with the other when there's overlap) diff --git a/irregex-core.scm b/irregex-core.scm index e8b3cd9a..78802bb6 100644 --- a/irregex-core.scm +++ b/irregex-core.scm @@ -3726,6 +3726,10 @@ (union-range (cdr a) b (cons a-range res))) ((char>? (car a-range) (next-char (cdr b-range))) (union-range (cdr b) a (cons b-range res))) + ((char>=? (cdr a-range) (car b-range)) + (union-range (cons (char-ranges-union a-range b-range) (cdr a)) + (cdr b) + res)) (else (union-range (cdr a) (cons (char-ranges-union a-range b-range) (cdr b)) res))))))))Trap