山本です。


>> 今までと違って大きくいじったので、ちょっと怖いです。
>> いちおう自分のスクリプトは動作していますが・・・
>
>File.fnmatch("[a]", "a") がfalseになるのはまずいと思います。

バグってますね(汗)。ありがとうございます。


>ちょっといじってみました。[ruby-dev:22258]からの差分ですが、-w
>オプション付きなので、インデントは適当に直してください。
>
>* single byteに決定しているところではNext()/Inc()を使わない。
>* 一文字ずつでは効率が悪そうに見えるので、CopyAndInc()は削除。

これをベースにして開発したいと思います。

でもやっぱり、Next(p)の*p=='\0'に対する動作が環境によって異なるのが
気になります。Win32とDJGPPでは進まないけど、
SingleByte環境と__EMX__では1進みますよね。
(バグが入ったときに環境によって再現しなかったりしそうで・・・)
でも、「'\0'を指すポインタに対する動作は未定義」とコメントを
入れておけば問題ないのかなあ。