ruby-trunk-changes r29627 - r29647

今日はたくさんコミットがありました。サクサク行きます。

ko1:r29627 2010-10-29 23:35:53 +0900

test/profile_test_all.rb を追加して make test-all のメモリプロファイルを取ることができるようにしています。このメモリプロファイルを on にするには

$ RUBY_TEST_ALL_PROFILE=true make test-all

のように環境変数 RUBY_TEST_ALL_PROFILE を "true" に設定します。環境変数の値は正確に "true" でなくてはいけません。1 とか TRUE だとだめです。

ko1:r29628 2010-10-30 00:29:16 +0900

拡張ライブラリ objspace で追加される ObjectSpace.memsize_of がクラスの定数テーブルのサイズを加算していないのを修正しています。これは先日 private constant の前準備として T_CLASS の構造が変更になったものの追随です。

svn:r29629 2010-10-30 00:29:20 +0900

version.h の日付更新。

ko1:r29630 2010-10-30 00:36:33 +0900

InstructionSequence.compile の省略可能引数の数が間違っていたのを修正しています。

akr:r29631 2010-10-30 06:01:53 +0900

resolv.rb にて。コメントなどを読むに、DNS への通信を UDP で行なって失敗した時に TCP で再度通信してみるようにしている模様。[ruby-core:32407]

akr:r29632 2010-10-30 06:40:09 +0900

BSD 系(Mac OS X も)や、Linux の場合でもディレクトリに setgid ビットが立っていると、そこに作成したファイルの所属グループがディレクトリのものと一緒になるために test_pathname.rb が失敗することがあったので File.chown を追加して対策しています。[ruby-dev:42458]

akr:r29633 2010-10-30 07:02:39 +0900

lib/resolv-replace.rb と lib/open-uri.rb で未使用のローカル変数への代入の警告を除去。

nobu:r29634 2010-10-30 08:50:57 +0900

test/profile_test_all.rb のプロパティ(実行権限)の変更だけです。

nobu:r29635 2010-10-30 09:08:30 +0900

拡張ライブラリ fiddle の fiddle_closure 構造体のメンバに初期化されていないものがあるために make test-all が SEGV することがあったのを修正しています。ポインタで保持するのをやめて埋め込みして初期化されるようにしています。[ruby-dev:42480]

nobu:r29636 2010-10-30 09:09:42 +0900

直前の r29635 のテストを追加。

nobu:r29637 2010-10-30 09:40:56 +0900

enum.c (Enumerable の実装)で ID ((Symbol の内部的な表現みたいなものです)を rb_intern で作っていたもののうち id.h に定義されているものはそっちを使うようにしています。

marcandre:r29638 2010-10-30 10:25:41 +0900

r26135 で、なのでもう去年の 12月頃からですが、BasicObject の initialize は任意の数の引数を受け付けるようにされていたのですが、ruby-core でこれが誤って使った時にエラーにならなくなってしまうのでよろしくないという議論になって revert されています。[ruby-core:27080][ruby-core:32952]
BasicObject#initialize の仕様変更でエラーが見えなくなった例としては r29528 で対処していたものがありましたね。→ ruby-trunk-changes r29520 - r29530 - PB memo

nobu:r29641 2010-10-30 11:33:59 +0900

ruby.pc ファイルの雛形に LIBPATH, LIBRUBY, LIBRUBY_A, LIBRUBY_SO など変数を追加しています。mswin 向けの変数だそうです。また Makefile.sub で変数がみつからなかった(nil)のガードを入れて空文字列として扱うようにしています。

nobu:r29642 2010-10-30 14:28:51 +0900

constant.h のプロパティ変更だけです。

nobu:r29643 2010-10-30 14:37:43 +0900

ruby.pc.in にさらに DEFFILE という変数を追加しています(mingw 向け)。また LIBRUBY の位置を変更しているので ruby.pc ファイルには順番にも意味があるみたいですね。
それから ruby.pc ファイルが正しく生成されているか pkg-config ツールが利用可能ならばチェックするようにしています。

nobu:r29644 2010-10-30 15:39:53 +0900

util.c のインデントの修正のみ。

nobu:r29645 2010-10-30 17:23:40 +0900

Float() に変な表現の 16進数の浮動小数点数表現を渡した時の overflow, underflow を避けるようにしています。

kou:r29646 2010-10-30 21:10:56 +0900

先日 iconv を利用すると警告が出るようになったので、rexml での文字コードの扱いを 1.9 の機能を利用するように修正されています。[ruby-dev:42464]
また NEWS に追記されているように、エンコーディング情報は名前(String)で返していたのを組み込みの Encoding クラスのインスタンスを返すという非互換な変更があるようです。
あ、あと ChangeLog にちょっと typo がありました。mechnism -> mechanism

kou:r29647 2010-10-30 21:13:02 +0900

プロパティの変更。svn:ignore に *.pc を追加しています。