とみたです。 On Sat, 8 Jan 2005 13:55:09 +0900 Tanaka Akira <akr / m17n.org> wrote: > 1.8 に以下の変更を行いたいんですが、どうでしょうか? > > * nonblocking な IO#read を警告 > むろん nonblocking でない時には警告しません > 警告を行う理由は、nonblocking な IO#read の挙動が 1.9 で変わるからです。 > この変化の理由は [ruby-dev:25101] で述べましたが、具体例でいえば > [ruby-dev:25379] のように、nonblocking IO を考慮せずに記述したコードが > nonblocking IO でも使用できるようになるというものです。そして、1.9 を > 変えてしまったので、その変化を事前に警告するには 1.8 で警告するしかあ > りません。 1.8.2 までは警告が出なかったものが 1.8.3 では警告が出るようになるとい うことでしょうか? であれば、反対です。 # 以下、IO#read の挙動の話ではなく、一般的な話になってしまいますが…。 1.8.2 を 1.8.3 に上げる人の多くが期待しているのは、「1.8.2 と互換を持 ちつつ、1.8.2 リリース後のバグが修正されていること」だと思うからです。 そういう人に取っては、1.9 で変更がされるからと言って 1.8.x で警告が出 されるのは迷惑以外の何者でもありません。 1.8.2 を 1.8.3 にすることで、正常に動作していたスクリプト達の修正を余 儀なくされるのは、勘弁願いたいです。 # セキュリティの問題とか、実は正常に動作しているように見えたのがバグだ # ったとか…という場合は除きます。 以前から「振る舞いが変わることについて事前に警告を出す」というのは、ほ とんど意味がないと思ってました。 1.9 のリリース時に、ちゃんと「互換の ない変更」「注意すべき変更」というドキュメントがあれば十分ではないかと。 その昔 cgi#[] で行なわれたような、以前の振る舞いを期待しているスクリプ トを救うためにトリッキーな実装をするというのも迷惑なだけだと思ってます。 結局、完全な互換が保てないのなら、以前の振る舞いを期待する人にとっても、 新しい振る舞いを期待する人にとっても、不幸なだけかと…。 -- とみたまさひろ <tommy / tmtm.org>