From: Fujioka Date: 2008-08-29T10:15:02+09:00 Subject: [ruby-dev:36039] Re: [Bug #515] String#rindexが期待通りに動かない 藤岡です。 usaさんとnaruseさんのパッチを取り込んだら 期待通りの結果になりました。 > regexp は中身にまで踏み込む必要はないんじゃないですかね。 > regexp の場合、もとから encoding に中身が反映されているので。 > そのため、regexp.encoding == US-ASCII の場合の例外処理を入れるだけかと思います。 > > あとは、file と encoding ですか。 > > --- encoding.c (revision 18915) > +++ encoding.c (working copy) > @@ -631,6 +631,10 @@ rb_enc_compatible(VALUE str1, VALUE str2 > if (!rb_enc_asciicompat(enc1) || !rb_enc_asciicompat(enc2)) { > return 0; > } > + if (BUILTIN_TYPE(str2) == T_REGEXP && enc2 == rb_usascii_encoding()) > + return enc1; > + if (BUILTIN_TYPE(str1) == T_REGEXP && enc1 == rb_usascii_encoding()) > + return enc2; > > if (BUILTIN_TYPE(str1) != T_STRING) { > VALUE tmp = str1; >