ruby-trunk-changes r40076 - r40086

今日は Bignum レアケースでの Fixnum との比較で不正な結果になる不具合の修正と IO#seek が whence 引数にシンボルを受け付けるようになる変更がありました。

nobu:r40076 2013-04-03 16:34:31 +0900

Bignum と Fixnum の比較で coerce などでサイズ 0 の Bignumができると 0 と比較しても一致していなかった不具合を修正しています。 ObjectSpace.each_object などで内部で一時的に使っていたそういう珍しい Bignum が見えるようです。 [ruby-core:53893] [Bug #8204]

nobu:r40077 2013-04-03 16:35:35 +0900

というわで r40076 で見えたように Bignum が内部で生成する一時的な Bignum オブジェクトを ObjectSpace から隠すようにしています。 そのために拡張ライブラリから使えるように rb_obj_hide() というユーティリティ関数を追加しています。 [ruby-core:53893] [Bug #8204]

nobu:r40078 2013-04-03 17:11:24 +0900

Windows 版の端末の色つけのためにエスケープシーケンスを解釈するところで ESC のあとに "["} がなかった時にそれを解釈しないようにしています。 [ruby-core:53879] [Bug #8201]

nobu:r40079 2013-04-03 17:11:27 +0900

r40078 のぶんの ChangeLog エントリ追加。

akr:r40080 2013-04-03 19:00:49 +0900

ext/extmk.rb で mkmf.log にログ出力する内容が別の拡張ライブラリのログに出ていたりする不具合を修正しています。よく内容は理解できていませんが $stdout, $stderr をきりかえる処理を mkmf.rb の提供する Logging モジュールの open, log_close メソッドを利用するようにしています。 [ruby-dev:47215] [Bug #8209]

akr:r40081 2013-04-03 20:28:10 +0900

r40080 の ext/extmk.rb の変更で Logging.log_close を呼ぶのを ensure 節に移動しています。

kazu:r40082 2013-04-03 20:43:42 +0900

r39729 で追加した NEWS ファイルの typo 修正。

akr:r40083 2013-04-03 20:55:18 +0900

Process.spawn の rdoc 用コメントに文字列で指定されたコマンドが直接 exec で実行される場合と shell を経由して実行される場合の切り替えの条件と挙動の違い(pid が直接実行しているコマンドのプロセスの pid と一致するかどうか)について追記しています。 [ruby-core:50459] [Bug #7489]

akr:r40084 2013-04-03 21:25:09 +0900

IO#seek が whence 引数として :CUR, :END, :SET といったシンボルを受け付けるようにしています。 [ruby-dev:45818] [Feature #6643]

akr:r40085 2013-04-03 21:36:57 +0900

r40067 で追加した pack/unpack の指示子 Q!/q! について、サポートされるかどうかプラットフォーム依存であることをコメントに追記しています。

akr:r40086 2013-04-03 22:10:04 +0900

拡張ライブラリ socket の extconf.rb でプラットフォーム依存のライブラリチェック(have_library) をヘッダのチェックの後に実行するように移動しています。