今日は UnboundMethod#bind を Module のメソッドは継承関係のチェックなしで実行できるようにした変更、RDoc の修正、File.join のエンコーディングの処理の修正などがありました。
ko1:r38349 2012-12-13 11:27:58 +0900
r38340 の一部で rb_method_type_t の enum の最後に VM_METHOD_TYPE__MAX を置いたのを revert しています。やっぱりこれは最後の要素を固定することで要素を追加するたびにカンマを追加しなくていいようにするためだったんですね。 rb_method_type_t は数値ではないので ???_MAX という名前は誤解をまねくということで revert しています。
svn:r38350 2012-12-13 11:28:02 +0900
version.h の日付更新。
shugo:r38351 2012-12-13 12:09:22 +0900
gcc 4.6 の -Wunused-but-set-variable オプションをつけると bigdecimal.c の ENTER() マクロで宣言される変数が警告されるので __attribute__ ((unused)) を使う RB_UNUSED_VAR() というマクロを include/ruby/ruby.h で定義してこれを使うことで警告を抑制しています。
nobu:r38352 2012-12-13 12:38:00 +0900
コミットログは svn property の設定っぽいですが ChangeLog の行末の空白の除去です。ボットが自動で処理してるそうなのでちょっとコミットログが合わなかったみたいですね。
nobu:r38353 2012-12-13 12:50:19 +0900
enum の最後の要素として置いて使うための END_OF_ENUMERATION() というマクロを定義しています。 __GNUC__ が定義されていたら最後の要素にカンマがついていてもいいので空に定義されて、そうでなければ無意味な最後の要素を定義するようにしています。これを rb_method_type_t に使っています。そこまでして enum の要素追加時の前の行のカンマ追加を避けたいとは。
nobu:r38354 2012-12-13 13:06:40 +0900
UnboundMethod に bind メソッドを呼んでオブジェクトに結びつけて Method にするにはそのオブジェクトのクラスと UnboundMethod のもとのクラスが継承関係にないといけないのですが、Module に定義されたメソッドから作った UnboundMethod はこの制限によらず bind できるように制限を緩めています。 [ruby-core:34267] [Feature #4254]
usa:r38355 2012-12-13 14:02:55 +0900
File.join に異なるエンコーディングの文字列を渡した時の考慮が抜けていたので修正しています。
usa:r38356 2012-12-13 14:11:02 +0900
r38348 で Dir.mktmpdir でパスを作る時に File.join を使うようにしたためにファイルパスのエンコーディングが変化する可能性があったので、test/ruby/test_require.rb で $LOADED_FEATURE に格納される文字列のエンコーディングをチェックしているのは、エンコーディングの一致を確認するのではなく Encoding.compatible? で互換性があるエンコーディングになっていればいいようにテストを修正しています。
shugo:r38357 2012-12-13 14:12:55 +0900
Marshal.load に tainted な文字列からロードした時に関連する Class/Module も taint されてしまっていましたが、Class/Module は名前から対応をつけるだけで実体をロードするわけではないので taint しないようにしています。 [ruby-core:49198] [Bug #7325]
zzak:r38358 2012-12-13 14:22:30 +0900
doc/irb/irb.rd から irb のドキュメントを移動したり追記したりで lib/irb* の rdoc 用コメントを追記しています。 いつもお疲れさまです。
naruse:r38361 2012-12-13 15:16:14 +0900
test/xmlrpc/test_webrick_server.rb でテストに使うポート番号を test/xmlrpc/test_cookie.rb で使ってたのと被っていたので1つずらしています。
drbrain:r38362 2012-12-13 16:58:47 +0900
RDoc で C のソースから読み込んだ Class/Module の VALUE を格納した C の変数名の管理方法の修正して C から読み込んだ Class/Module のコメントの重複を修正しているとのことです。