ruby-trunk-changes r43637 - r43647

今日は RubyGems の最新版が 2.2.0.preview.2 としてマージされました。 Gemfile の解釈の強化や依存関係の不具合修正などが含まれているそうです。

ktsj:r43637 2013-11-10 23:50:13 +0900

GC_DEBUG が有効の時のデバッグ情報出力のコードで RVALUE_OLDGEN_P() を RVALUE_OLD_P() に改名する変更に追随しています。

nobu:r43638 2013-11-11 00:18:07 +0900

NEWS ファイルに Exception#cause について追記しています。

svn:r43639 2013-11-11 00:18:11 +0900

version.h の日付更新。

zzak:r43640 2013-11-11 01:05:04 +0900

標準添付ライブラリ timeout.rb の rdoc コメントに Timeout.timeout のブロック内で使用する例外クラスを明示的に渡さなかった場合はタイムアウト時の例外は rescue できなくなったことを追記しています。 また NEWS ファイルのこの変更についての記述の文法を修正しています。 https://github.com/ruby/ruby/pull/440 [Bug #8730]

zzak:r43641 2013-11-11 01:13:19 +0900

r43640 の ChangeLog の [DOC] タグがついていなかったので追記しています。
[DOC] タグってコミットログで意味があると思ってたのですが ChangeLog だけでも追記したほうがいいんですかね。

kazu:r43642 2013-11-11 01:41:44 +0900

NEWS ファイルの typo 修正。

drbrain:r43643 2013-11-11 02:51:40 +0900

RubyGems を 2.2.0.preview.2 (というか master の 4bdc4f2 らしい)をマージしています。かなり変更量が大規模なのでちゃんと読んでいませんが、依存関係解決まわりの修正と Bundler の Gemfile を直接読む機能でプラットフォーム(jruby や rbx などの指定も)やバージョンの指定をパースする機能を実装しているようです。

nobu:r43644 2013-11-11 02:53:10 +0900

r43643 で新規追加されたファイルの svn property 設定。

ko1:r43645 2013-11-11 03:19:41 +0900

TracePoint のイベントに :a_call と :a_return という指定を受け付けるようにして、それぞれ call, b_call, c_call と return, b_return, c_return の全てを包含する指定として扱うようにしています。 c_call/c_return ってなんだっけと思ったら C 関数実装のメソッドに入る/出る時ですね。 b_call/b_return はブロックに入る/出る時。

drbrain:r43646 2013-11-11 04:37:05 +0900

trunk の RubyGems のバージョンが 2.2.0.preview.2 なのに拡張ライブラリビルドする時の RubyGems のバージョンのチェックが 2.2 基準になっていたので RubyCI のエラーを誘発していたので修正、とあるのですが "2.2" 以下の判定で "2.2.0.preview.2" ってひっかかるんですね? 文字列としての比較なら長いほうが……と思ったけど Gem::Version の比較のチェックで、指定がないところは 0 扱いにして数字より文字列のほうが小さいと判定されるように実装されているので、preview とかが付いていると小さいと判定されるみたいです。

tmm1:r43647 2013-11-11 18:39:13 +0900

hash.c と string.c で独自に struct RBasic::flags のフラグや判定マクロを定義していたものが拡張ライブラリ objspace にも同じものを定義して使っていたので、定義を internal.h に移動して共有するようにしています。