~ chicken-core (chicken-5) b733f9bb85d705395775773b1b52f7d774c92b39
commit b733f9bb85d705395775773b1b52f7d774c92b39
Author: Peter Bex <Peter.Bex@xs4all.nl>
AuthorDate: Fri Sep 24 22:44:34 2010 +0200
Commit: Peter Bex <Peter.Bex@xs4all.nl>
CommitDate: Fri Sep 24 22:44:34 2010 +0200
Apply upstream changeset 2df51ecb1b14 (Fix UTF8 issue caused by calling the STRING procedure on characters, which breaks the string in Chicken)
diff --git a/irregex-core.scm b/irregex-core.scm
index 6b2ae25a..f09ab23c 100644
--- a/irregex-core.scm
+++ b/irregex-core.scm
@@ -3611,7 +3611,9 @@
(lp (sre-alternate (cdr sre)) #t))
(else
(%irregex-error "not a valid sre char-set operator" sre)))))
- ((char? sre) (rec (list (string sre))))
+ ((char? sre) (if ci?
+ (cset-case-insensitive (range->cset sre sre))
+ (range->cset sre sre)))
((string? sre) (rec (list sre)))
(else
(let ((cell (assq sre sre-named-definitions)))
diff --git a/tests/test-irregex.scm b/tests/test-irregex.scm
index 917e6e6a..8697a24f 100644
--- a/tests/test-irregex.scm
+++ b/tests/test-irregex.scm
@@ -443,9 +443,7 @@
(test-assert (irregex-search "(?u:<[あ-ん]*>)" "<あん>"))
(test-assert (irregex-search "(?u:<[あ-ん]*>)" "<ひらがな>"))
(test-assert (not (irregex-search "(?u:<[あ-ん]*>)" "<ひらgがな>")))
+(test-assert (not (irregex-search "(?u:<[^あ-ん語]*>)" "<語>")))
-(test-end)
-
-
-(test-exit)
+(test-end)(test-exit)
Trap