summaryrefslogtreecommitdiff
path: root/enc
diff options
context:
space:
mode:
Diffstat (limited to 'enc')
-rw-r--r--enc/unicode.c4
-rwxr-xr-xenc/unicode/case-folding.rb10
2 files changed, 8 insertions, 6 deletions
diff --git a/enc/unicode.c b/enc/unicode.c
index e72b2e64b2..cf77492781 100644
--- a/enc/unicode.c
+++ b/enc/unicode.c
@@ -777,8 +777,8 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP,
code = folded->code[0];
}
else if ((flags&(ONIGENC_CASE_UPCASE))
- && (code==0x03B9||code==0x03BC)) { /* GREEK SMALL LETTERs IOTA/MU */
- MODIFIED;
+ && (code==0x03B9||code==0x03BC||code==0xA64B)) { /* GREEK SMALL LETTERs IOTA/MU, */
+ MODIFIED; /* CYRILLIC SMALL LETTER MONOGRAPH UK */
code = folded->code[1];
}
}
diff --git a/enc/unicode/case-folding.rb b/enc/unicode/case-folding.rb
index ef97baf737..e94b582a02 100755
--- a/enc/unicode/case-folding.rb
+++ b/enc/unicode/case-folding.rb
@@ -296,17 +296,19 @@ class CaseMapping
when item.upper then flags += '|U'
when item.lower then flags += '|D'
else
- unless from=='03B9' or from=='03BC'
- warn 'Unpredicted case 0; check data or adjust program (enc/unicode/case_folding.rb).'
+ unless from=='03B9' or from=='03BC' or from=='A64B'
+ # cf. code==0x03B9||code==0x03BC||code==0xA64B in enc/unicode.c,
+ # towards the end of function onigenc_unicode_case_map
+ raise "Unpredicted case 0 in enc/unicode/case_folding.rb. Please contact https://bugs.ruby-lang.org/."
end
end
unless item.upper == item.title
if item.code == item.title
- warn 'Unpredicted case 1; check data or adjust program (enc/unicode/case_folding.rb).'
+ raise "Unpredicted case 1 in enc/unicode/case_folding.rb. Please contact https://bugs.ruby-lang.org/."
elsif item.title==to[1]
flags += '|ST'
else
- warn 'Unpredicted case 2; check data or adjust program (enc/unicode/case_folding.rb).'
+ raise "Unpredicted case 2 in enc/unicode/case_folding.rb. Please contact https://bugs.ruby-lang.org/."
end
end
end