From: sheepman <sh@...>
Date: 2009-04-14T21:09:58+09:00
Subject: [ruby-dev:38307] Re: [BUG:1.9] Dir.glob should not convert entries on UNIX

こんばんは sheepman です。

r23189 の適用後でも以下のように Shift_JIS のファイル名がある場合に
例外が発生しますが、これはこういうものでしょうか。Dir.glob の目的から
言って、変換に失敗した場合は例外を発生させず、スキップするべきなのでは
ないでしょうか。Dir.entries も UNIX 上では locale に対して不正なファイル名が
あっても例外を発生させないわけですし。

$ echo $LANG
ja_JP.eucJP

$ cat t.rb
# encoding:euc-jp
p Dir.glob('[テ-ト]')

$ ls | nkf --guess
Shift_JIS

$ ruby-1.9 -v t.rb
ruby 1.9.2dev (2009-04-14 trunk 23189) [i686-linux]
t.rb:2:in `glob': invalid byte sequence in EUC-JP (ArgumentError)
        from t.rb:2:in `<main>'