ruby-trunk-changes r29205 - r29219

今日はぐっとコミットが多くなりました。さらさらと読んでいきますよ。

nobu:r29205 2010-09-09 23:25:56 +0900

[ruby-core:32231] で報告された Digest::Base.new を実行すると SEGV する不具合修正。Digest::Base は new できない設計になってて例外を発生させているのですが、その時にバックトレースの情報を作成する時に allocator という内部的なメソッドの情報を取得しようとして SEGV した模様。

akr:r29206 2010-09-10 02:19:52 +0900

ソケットオプションについての型の OpenBSD での差異を吸収して OpenBSD でソケットオプションの SO_PEERCRED を利用可能にしている。

svn:r29207 2010-09-10 02:19:53 +0900

version.h の日付変更

akr:r29208 2010-09-10 07:04:22 +0900

Pathname#size? を C の拡張ライブラリへ移動している。ちなみに size? というのは size と同じくファイルサイズを返すんだけど、0(空)の時には nil を返す(従って論理値としては偽になる)メソッド。

nobu:r29209 2010-09-10 07:29:16 +0900

[ruby-dev:42089] でたださんが報告していた、Etc.systmpdir が tainted な String を返すために $SAFE==1 で(多分 tDiary が)動かなかった件の対応。Etc.systmpdir は tainted でない String を返すようにされています。

nahi:r29210 2010-09-10 13:13:21 +0900

digest.rb で rescue で未使用の変数に例外を代入させていたのをやています。おそらく r29205 の報告で未使用ローカル変数の警告が出ていたために目に止まったと思われます。

nobu:r29211 2010-09-10 14:03:40 +0900

compile.c に #include を追加しています。modf を使うために必要とのこと。

naruse:r29212 2010-09-10 14:44:54 +0900

random.c の rb_rand_internal という関数を rb_genrand_ulong_limited に改名して、さらに公開シンボルにしています。bignum で利用しています。

naruse:r29213 2010-09-10 14:44:57 +0900

test_nkf.rb で NKF.nkf を 1000 回繰り返すテストがあって時間がかかるので 100 回に減らしてます。

knu:r29214 2010-09-10 16:51:58 +0900

[ruby-dev:42194] からのスレッドで Numeric#step の仕様拡張を議論する中でオプション引数を扱う C の API が欲しいという話になってパッチ袋から取り出されてコミットされたもの。rb_scan_args が機能拡張されています。使いかたは README.EXT/README.EXT.ja も更新されているのでそれをみればわかるでしょう。

knu:r29215 2010-09-10 16:59:58 +0900

r29214 の ChangeLogruby-dev への参照を追加しただけ。

knu:r29216 2010-09-10 17:20:47 +0900

NEWS ファイルにも rb_scan_args() の機能拡張について記述を追加。

nahi:r29217 2010-09-10 17:54:50 +0900

openssl の未使用ローカル変数の削除や、テストの修正のみ。

nahi:r29218 2010-09-10 19:20:35 +0900

WEBrick::HTTPRequest#continue メソッドの追加。クライアントから "Expect: 100-continue" ヘッダつきのリクエストがあった時に "100 continue" というレスポンスを返せるようになるようです。

akr:r29219 2010-09-10 23:04:07 +0900

Pathname#sticky? メソッドを C の拡張ライブラリへ移動しています。

ふう、今日はちょっと時間かかりました。