ruby-trunk-changes r33941 - r33955

今日は Tempfile の実装の変更の他、あちこちのリファクタリングや不具合修正(?)が入っています。

akr:r33941 2011-12-04 22:35:50 +0900

Tempfile の未使用になっていた定数を削除しています。

akr:r33942 2011-12-04 22:50:58 +0900

lib/tempfile.rb のコメントの typo 修正。

akr:r33943 2011-12-04 22:53:59 +0900

Tempfile が一時ファイルを作成する際にその path に ".lock" を付加したディレクトリを"ロックディレクトリ"として作成しているのをやめています。 ファイルの open に O_EXCL をつけてるので"ロックディレクトリ"は不要とのこと。 [ruby-dev:39197]

nobu:r33944 2011-12-05 08:56:59 +0900

r33937 の修正で導入した関数マクロで引数を全く利用しない場合に、未使用の値の警告が出るのを抑制するため (void)(fptr) などの式を書くようにしています。

svn:r33945 2011-12-05 08:57:03 +0900

version.h の日付更新。

usa:r33946 2011-12-05 10:25:47 +0900

r33937 のうち Zlib::GzipReader で open するファイルをバイナリモードに設定する修正を revert しています。 IO のモードの設定は重要な変更なので zlib のメンテナの判断が必要ということと*1、Zlib::GzipReader.new は通常 Zlib::GzipReader.open から呼ばれ、そこではバイナリモードを指定して open しているから大丈夫ということでした。

usa:r33947 2011-12-05 14:29:31 +0900

r33876 で include/ruby/win32.h から代替関数の alias を #define でマクロとして定義しているのを include/ruby/subst.h に移動していたのを revert して、socket の extconf.rb で socket_pair() をチェックしてるところで rb_w32_socket_pair() もチェックすることで問題になってたところをピンポイントで対応するようにしています。何か問題があったんでしょうか。 [ruby-core:41475] [Bug #5706]

nobu:r33948 2011-12-05 14:33:49 +0900

signal.c の reserved_signal_p() を static 関数として宣言しています。

nobu:r33949 2011-12-05 17:13:28 +0900

common.mk で自動生成するソースファイルのターゲット newline.c と miniprelude.c に $(VPATH) を利用するようにして、ソースディレクトリに存在している(tar パッケージの場合は最初から含まれている)のを利用するようにしています。

nobu:r33950 2011-12-05 18:50:12 +0900

未使用の、というか代入だけしてその後利用していない変数の削除。

nobu:r33951 2011-12-05 18:57:00 +0900

ChangeLog によると unused-but-set-variable 警告の除去とあるので、さっきと同様代入だけした変数の削除か、と思いきや RB_GC_GUARD() の追加や setegid() を条件コンパイルするようにするなどなど色々な修正とリファクタリングが入ってます。はて?

nobu:r33952 2011-12-05 19:01:06 +0900

ChangeLog のエントリが重複していたのを削除。

nobu:r33953 2011-12-05 19:02:02 +0900

Process.euid= の関数 proc_seteuid_m() の引数が間違っていたのを修正。

nobu:r33954 2011-12-05 19:08:07 +0900

r33951 の regparse.c の修正が gcc 独自の workaround(変数に自分自身を代入することで警告を除去)だったので __GNUC__ が定義されている時だけにするように修正。

nobu:r33955 2011-12-05 19:12:02 +0900

r33954 の typo 修正。

*1:しかし ext/zlib の メンテナは いない みたいです