From: Yukihiro Matsumoto Date: 2006-11-04T11:06:11+09:00 Subject: [ruby-dev:29770] Re: 1.8 proposal of RUBY_PATCHLEVEL まつもと ゆきひろです In message "Re: [ruby-dev:29767] 1.8 proposal of RUBY_PATCHLEVEL" on Sat, 4 Nov 2006 09:40:05 +0900, URABE Shyouhei writes: |(1)1.8メンテナをまつもとさん以外の人にする |まずご自身で仰っているようにまつもとさんは「Designer」です。そのこと自 |体は得がたい能力だと思いますし、卜部にはできないことをやっておられるわ |けで実際かなり尊敬していますが、デザインが得意だからといってメンテナン |スが得意かというと、それは違うとしか。 まったくおっしゃる通りです。 |以下は卜部がブランチメンテナになった場合の話で、 神戸さんも指摘しておられますが、ここは属人性を排除するため 「卜部くんならこうする」という意思表明ではなくて「今後この方 針がよい」という方針の提案と読んだほうがよいと思います。 |(2) API変更停止 |以下に述べるPATCHLEVELの修正をのぞくすべての変更を凍結します。具体的には |- - Cヘッダファイルの記述全て |- - RubyレベルAPIの全て |- - test/以下の全てのファイル | |ただし、RubyレベルAPIに関しては明確なものがない(今まさにJRubyのCharles |が書いてるはず)ため、最初の段階では「動いてるコードが仕様です」となる |可能性はかなり高いと思います。 Cヘッダファイルの変更停止はまあ当然でしょう。Rubyレベルでは メソッドを追加しないというのもやった方が良いと思います。言語 の微妙な動作についてはRubySpecの動きでRuby1.8, JRubyその他の 間で合意ができた場合には変更が行われるかもしれませんが、安易 な変更は行われるべきではないでしょう。基本的に凍結と言って良 いと思います。test/以下のファイルについてはテストの追加は許 しても良いかもしれません。 標準ライブラリについては、私が直接管理していないんで判断が難 しいです。 個人的な意見としては、非互換な修正は基本的に許さない方向が良 いのではないでしょうか。ライブラリを追加するのもしない方が良 いでしょうね(ほんとはJSONライブラリとか追加したかったけど)。 個別のライブラリ内でのメソッドの追加については、...どうしよ うか。 ||(3) RUBY_PATCHLEVELの新設 |Rubyのバージョン番号にはこれまで「MAJOR.MINOR.TEENY、各フィールドは十 |進一桁以下」という制限がありました(制限は主にversion.hとCプリプロセッ |サの制約から来ています)が、新たにパッチレベルを示すPATCHLEVELという数 |字を導入します。PATCHLEVELは十進でFixnumに収まる範囲の非負整数です。こ |の数字は0から始まり、なんらかのパッチセットが投入されるたびに1づつ増え |ていきます。基本的にバグフィックスしか行われないはずなので、パッチセッ |トは取捨選択の必要はないと思います(入れるなら全部入れるべき)。 ruby -v の出力はどうなるんでしょうね。