ruby-trunk-changes r32645 - r32657

余分なシンボルを生成しないようにする修正はさらに対象のメソッドを増やしています。また Unix Socket で file descriptor passing した時の挙動の違いを実際にサンプルコードで確認するようにする修正がありました。

nobu:r32645 2011-07-24 00:05:03 +0900

更に ???_variable_get 系、 const_get, remove_???_variable 系、 ???_method 系などのメソッドでも余分なシンボルの生成を抑制する修正です。 またこのために任意のメッセージを指定して NameError を発生させる API rb_name_error_str() を追加しています。 [ruby-core:38404] [Feature #5079]

svn:r32646 2011-07-24 00:05:07 +0900

version.h の日付更新。

kosaki:r32647 2011-07-24 00:18:32 +0900

Lion の Xcode 4 のデフォルトの(gcc というコマンドで起動される)コンパイラllvm-gcc での最適化で動かなくなる問題の対策として llvm-gcc の時にはデフォルトの最適化オプションを -O0 にするように configure.in を修正しています。

kosaki:r32650 2011-07-24 00:57:21 +0900

が、1.9.3 のブランチに入れた修正(r32649)のほうが良かったということで r32647 を revert しています。

drbrain:r32652 2011-07-24 01:05:19 +0900

deprecated になった Gem::Specification#loaded というメソッドが常に false を返すようになっていたのを修正しています。 [ruby-dev:44117] [Bug #5032]

akr:r32655 2011-07-24 08:57:50 +0900

拡張ライブラリ socket の extconf.rb で r32638 で対処したように MSG_PEEK つきで recvmsg() を呼んだ時に file descriptor passing が有効な fd を生成するかどうかをサンプルコードを使ってチェックするようにして、その結果を利用して条件コンパイルするようにしてプラットフォームで分岐するのをやめています。 [ruby-dev:44189] [Bug #5075]

akr:r32656 2011-07-24 20:04:11 +0900

r32655 の extconf.rb で利用しているチェック用のコードで fstat(2) を呼べるかどうかだけでチェックしていたのをその結果の stat の内容までチェックして、たまたま有効な file descriptor の番号が返ってきているだけなのをはじくようにしているようです。

akr:r32657 2011-07-24 20:35:56 +0900

更に socket の extconf.rb のチェック用プログラムのエラー時のメッセージの強化や、利用する file descriptor に pipe を利用するなどの修正です。