Joseph Jones liked your message with Boxer. On December 11, 2015 at 01:04:08 MST, duerst@it.aoyama.ac.jp wrote:Issue #10097 has been updated by Martin Dürst.Nobuyoshi Nakada wrote:> Is this correct?> https://github.com/nobu/ruby/compare/windows-1252Sorry for the very slow response. Please commit. Thanks!----------------------------------------Bug #10097: Case-insensitive Regexp matching for Windows-1252 not working for ŠšŽžŒœÿŸhttps://bugs.ruby-lang.org/issues/10097#change-55458* Author: Martin Dürst* Status: Open* Priority: Normal* Assignee: * ruby -v: 1.9.3p545* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN----------------------------------------By chance I had a look at enc/iso_8859_1.c and found~~~CENC_REPLICATE("Windows-1252", "ISO-8859-1")~~~on line 288. But this does not work for case folding:~~~ruby# http://en.wikipedia.org/wiki/Windows-1252s1 = "\u0160".encode 'windows-1252' # 'Š'r1 = Regexp.new("\u0161".encode('windows-1252'), Regexp::IGNORECASE) # /š/is1 =~ r1 # => nils2 = "\u0178".encode 'windows-1252' # 'Ÿ'r2 = Regexp.new("\u00FF".encode('windows-1252'), Regexp::IGNORECASE) # /ÿ/is2 =~ r2 # => nils3 = "\u00C0".encode 'windows-1252' # 'À'r3 = Regexp.new("\u00E0".encode('windows-1252'), Regexp::IGNORECASE) # /à/is3 =~ r3 # => 0~~~So case-insensitive matching works when both characters are in iso-8859-1, but not when one (ÿŸ) or both (ŠšŽžŒœ) characters are not in iso-8859-1.-- https://bugs.ruby-lang.org/