summaryrefslogtreecommitdiff
path: root/enc/unicode/case-folding.rb
diff options
context:
space:
mode:
authorduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-30 08:25:46 +0000
committerduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-30 08:25:46 +0000
commit87b937bdfd017ed710d1b547ef42b2a0c7e92592 (patch)
treee94b3f175dfd8284d32619dfb546898c0eb53d92 /enc/unicode/case-folding.rb
parent22c0994bc8b34e4b8b80de3259363b0f27c24988 (diff)
fix uppercasing for U+A64B, CYRILLIC SMALL LETTER MONOGRAPH UK
* enc/unicode.c: Add U+A64B to the special cases 03B9 and 03BC at the end of onigenc_unicode_case_map (Bug #12990). * enc/unicode/case-folding.rb: Add U+A64B to the special cases 03B9 and 03BC. Add a comment pointing to enc/unicode.c. Change warnings to exceptions for unpredicted cases, because this would have been more easily noticed (the warning was not noticed when upgrading to Unicode 9.0.0). * test/ruby/enc/test_case_comprehensive.rb: Remove temporary exclusion of U+A64B from testing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/unicode/case-folding.rb')
-rwxr-xr-xenc/unicode/case-folding.rb10
1 files changed, 6 insertions, 4 deletions
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