From: siena@... (Siena. / SHINAGAWA, Norihide) Date: 2003-12-14T01:47:10+09:00 Subject: [ruby-dev:22274] Re: Dir.glob と Shjift_JIS について Siena. です。 》remove_backslashes(p)が動いていなかったので修正しました。 》あとはMBLEN("")==0に統一したので、CompareImplでその場合に対処。 》find_magicが前の'/'から検索しなおしていて非効率になっていたので、 》修正しました。 》 》[ruby-dev:22263]に対する差分です。 OS/2 with EMX で、それぞれ試してみました。 試した範囲では、[ruby-dev:22258] は今一歩で、改善された [ruby-dev:22263] で期待通りに動くようになりました。 しかし、更に [ruby-dev:22270] を当てるとうまくありません。 例のテストコードですが、実行すると次のような違いが出ます。 原因の調査はまだですが、すぐには手を付けられそうにないので、 とりあえずご報告だけでも。 $ cat globtest.rb #!ruby -Ks require 'fileutils' ## "ー"[1] == '[' ## "−"[1] == '|' # ワイルドカードには関係ない ## "表"[1] == '\' ## "ソ"[1] == '\' filelist = %w( ー − 表 表裏 ソフト てすと ) begin FileUtils.touch( filelist ) %w( ? ?? ??? ー ー* − −* ?\\ ソフト ).each do |c| puts( c + "\t: " + Dir.glob( c ).join( ' ' ) ) end ensure FileUtils.rm( filelist ) end $ for x in ruby-*.exe ; do | echo ; echo -n "$x : " ; $x -v globtest.rb | done ruby-22258-baseline.exe : ruby 1.8.1 (2003-12-13) [i386-os2-emx] ? : − ー 表 ?? : 表裏 ??? : てすと ソフト ー : ー ー* : ー − : − −* : − ?\ : − ー 表 ソフト : ソフト ruby-22263-nakada_improve.exe : ruby 1.8.1 (2003-12-13) [i386-os2-emx] ? : − ー 表 ?? : 表裏 ??? : てすと ソフト ー : ー ー* : ー − : − −* : − ?\ : ソフト : ソフト ruby-22270-remove_backslashes.exe : ruby 1.8.1 (2003-12-13) [i386-os2-emx] ? : ?? : − ー 表 ??? : ー : ー ー* : − : − −* : − ?\ : ソフト : --- Siena.