ruby-trunk-changes r57126 - r57142

今日は st_table の書きなおし、Zlib.gzip のキーワード引数対応、round の キーワード引数 half に nil を受け付けるようにする変更などがありました。

naruse: r57126 2016-12-21 01:02:21 +0900

r57035 拡張ライブラリ zlib に追加した Zlib.gzip の省略可能な引数をキーワード引数として受け取るように変更しています。 [ruby-core:78565] [Feature #13020]

naruse: r57127 2016-12-21 01:02:22 +0900

zlib のテストで書き込み途中の Zlib::Deflate に close を呼ぶところで警告が出るので EnvUtil.suppress_warning のブロック内に入れて警告を抑制しています。

svn: r57128 2016-12-21 01:02:22 +0900

version.h の日付更新。

nobu: r57129 2016-12-21 02:15:37 +0900

r57126 の Zlib.gzip のキーワード引数への変更について rdoc 用コメントも追随させています。 [ruby-core:78565] [Feature #13020]

nobu: r57130 2016-12-21 10:29:57 +0900

Float#round, Integer#round などの half キーワード引数に明示的に nil を指定した時にデフォルトの挙動をするようにしています。 [ruby-core:77961] [Bug #12548]

nobu: r57131 2016-12-21 10:29:58 +0900

round メソッドのキーワード引数 half の挙動について rdoc 用コメントに追記しています。 [ruby-core:76253] [Bug #12548]

nobu: r57132 2016-12-21 10:58:32 +0900

require された時にスクリプトの途中で抜けるための TOP_LEVEL の return 文を書けるようにする変更がありました。 [ruby-core:36785] [Feature #4840]

akr: r57133 2016-12-21 14:26:35 +0900

r57131 の round のキーワード引数 half についての rdoc 用コメントの追記ぶんを箇条書きを使って清書しています。

nobu: r57134 2016-12-21 15:22:16 +0900

st.c の st_hash関数群の MURMUR というマクロの値で分岐を各所に入れていたのをやめて、murmur_finish() の実装は MurmurHash3 から取ってきて? 書き直しています。 [ruby-core:78559] [Bug #13019]

usa: r57135 2016-12-21 16:50:14 +0900

win32/win32.c の winnt_stat() で filename 変数の配列の領域がスコープ外からアクセスされる可能性があったので外側のスコープに移動しています。また NUL 終端文字の挿入位置を修正しています。

usa: r57136 2016-12-21 17:13:42 +0900

r57135 と同じく winnt_stat() でバッファサイズを取得するのに numberof() マクロを利用するようにしています。

nobu: r57137 2016-12-21 20:12:39 +0900

rescue 節のなかで例外を発生させた時に Exception#cause に 元の例外オブジェクトの参照を格納するのですが、rescue がネストした状態で外側の rescue の例外を再 raise した時に cause の循環参照が発生するのを抑制するように修正しています。 [ruby-core:78688] [Bug #13043]

nobu: r57138 2016-12-21 20:20:02 +0900

r57134 の st.c の変更で unused label の警告が出るようになってしまったので SKIP_TAIL マクロを導入してラベルの定義を preprocessor 条件分岐の中に入れるようにして警告を抑制しています。

nobu: r57139 2016-12-21 21:05:41 +0900

time.c で TYPE() を使っていたところを RB_TYPE_P() マクロを利用するようにリファクタリングしています。

nobu: r57140 2016-12-21 21:06:40 +0900

time.c の num_exact() でオブジェクトの数値への変換に失敗した時の例外メッセージに元のオブジェクトを表示するようにしています。

yui-knk: r57141 2016-12-21 22:26:16 +0900

numeric.c の rb_num_get_rounding_option() で r57130 で不要になってた条件分岐を削除しています。

nobu: r57142 2016-12-21 22:46:46 +0900

time.c の cmp() で Windows 環境でまれに x に回収済みオブジェクトが渡されることがあるみたいで、アドレスを表示して rb_fatal() で異常終了させるようにするデバッグ用コードを挿入しています。