From: Tanaka Akira Date: 2008-02-16T18:47:31+09:00 Subject: [ruby-dev:33810] Re: [ruby-cvs:22744] Ruby:r15507 (trunk): * string.c (str_strlen): little more optimize. In article <200802160930.m1G9U5cI009381@ci.ruby-lang.org>, naruse@ruby-lang.org writes: > naruse 2008-02-16 18:30:03 +0900 (Sat, 16 Feb 2008) > > New Revision: 15507 > > Modified files: > trunk/ChangeLog > trunk/string.c > > Log: > * string.c (str_strlen): little more optimize. > (rb_enc_nth): remove needless variable 'c'. これにより、valid_encoding? でない文字列が length を呼び出す と valid_encoding? に変わるようになっています。 % ./ruby -ve ' s = "\x80".force_encoding("euc-jp") p s.valid_encoding? p s.length p s.valid_encoding? p s ' ruby 1.9.0 (2008-02-16 revision 15507) [i686-linux] false 1 true "\x80" "\x80" は EUC-JP として正しくありませんから、この結果は間違っ ているのではないでしょうか。 -- [田中 哲][たなか あきら][Tanaka Akira]