ruby-trunk-changes r29520 - r29530

書き終えて今気がついたのですが、今日はなかださんのコミットがありません。めずらしい日ですね!

tadf:r29520 2010-10-17 22:37:38 +0900

Date::Delta クラスに :nodoc: コメントを追加しているだけです。

naruse:r29521 2010-10-18 09:59:31 +0900

sprintf のフォーマット文字列の %a 指示子の幅指定の不具合を修正しています。ちなみに %a は Float を 16進数の指数表現で文字列化するフォーマット指示文字だそうです。使った記憶がありませんね。

svn:r29522 2010-10-18 09:59:36 +0900

version.h の日付変更。

naruse:r29523 2010-10-18 10:20:37 +0900

Net::HTTP でリクエストを投げてエラーが発生した時にソケットがインスタンス変数 @socket に入っていないのに close を呼ぶことがあったので nil ガードを追加。[ruby-core:32829]

naruse:r29525 2010-10-18 10:53:41 +0900

r29521 のテストケースの間違い修正。

akr:r29526 2010-10-18 12:59:53 +0900

pack/unpack のドキュメントが長くなりすぎないように指定子の説明をある程度まとめて表記。

naruse:r29527 2010-10-18 13:12:35 +0900

pack/unpack の指定文字 q/Q にも環境依存のサイズ指示子 ! を対応させる。しかしこれはすぐに revert されています。[ruby-dev:42375]

knu:r29528 2010-10-18 13:26:06 +0900

[Feature #3954] で提案されているように、Digest::XXX#initialize の仕様変更で引数を取らないようになったのと、Object#initialize が任意の数の引数を受けとるようになって変更の合わせ技で、古い API に向けて書かれた Digest::XXX.new がすぐにエラーにならず見過されるという問題があったため、Digest::Base#initialize に引数なしのものを定義しています。

Object#initialize って任意の引数を受け付けるようになっているんですね、知りませんでした。これはつまりクラスを定義して特に initialize を再定義しないと new で任意の引数を渡してもエラーにならない(単に無視される)ということで、ちょっと頭の片隅に置いておくといいと思います。

naruse:r29529 2010-10-18 15:33:50 +0900

r29527 を revert しています。 [ruby-dev:42419] によれば「Bignum 絡みで使おうと思っていたが、一方でFFI などは素の long long が欲しい気もする。つまり、矛盾するユースケースが予想されるので却下」とのこと。

naruse:r29530 2010-10-18 15:42:01 +0900

エンコードeuc_jp.c と gb18030.c のコメントに参考 URL のドキュメントを追加。