Siena. です。

》[ruby-dev:21945] OS/2 での Dir.pwd, Dir.chdir の複数ドライブ対応* test/fileutils/test_*.rb で、実行前の現行ディレクトリと$TMPDIR が異なるドライブにある時、現行ディレクトリの中を全て削除してしまう問題が併発していた [ruby-list:38973]
》
》[ruby-dev:22237], [ruby-dev:22241]link() が存在しない環境で File.link が例外を上げるように変更* OS/2 では link() が何もしないで無条件に失敗するように実装されていた

この二つは、近いうちにコミットしたいと思います。

》[ruby-dev:22115] 多バイト文字の長さを正しく判定しない可能性を回避* Ruby は setlocale() しないので C ロケールで実行されている* 多バイト文字の最大長 (MB_CUR_MAX) は C ロケールでは 1* setlocale() する拡張ライブラリからの影響を受ける可能性がある* ついでに、EMX では ja_JP ロケールに setlocale() できない?

これは、mblen() に MB_CUR_MAX を渡している箇所を適当に大きな値に
置き換えるだけのものですが、コミットしてみても良いでしょうか。

C ロケールでは高々 1 バイトしか見ないため、多バイト文字を渡すと
正しい多バイト文字でないと見做されて -1 が帰って来るので。
今まで問題になっていない (少なくとも気が付いていない) とはいえ、
ちょっと不安があります。

そもそも、ロケールを特定しないで mblen() が正しく機能できる
保証もないわけですが、それはまた別に検討すべきなのだと思います。
とはいえ、ロケールを指定する以外の方法は思い付かないのですが。

よろしくお願い致します。

---
Siena. <mailto:siena / faculty.chiba-u.jp>