今日は OpenStruct の不具合修正や SIGPIPE のシグナルハンドラのデフォルトの設定の変更などがありました。
nobu:r31746 2011-05-27 22:37:37 +0900
テストスクリプトで Thread を起動して特定の条件が満たされるまで待つところで Thread.pass や sleep を入れてビジーループになるのを避けるようにしています。
nobu:r31747 2011-05-27 22:38:56 +0900
IO の入力でバッファに読み込みしてエンコーディングの変換をするところで無駄な処理を省くように早めに break しているようです。がループ後に明示的な return をしていないので戻り値が不正になってしまっています。
nobu:r31748 2011-05-27 22:45:12 +0900
Windows で常に改行の自動変換が効いてしまっていたのを修正。 [Bug #4732]
nobu:r31749 2011-05-27 22:46:25 +0900
json を gems としてインストールする(gemspec ファイルをインストールする)ようにしています。gems で json に依存しているものに json がインストール済みとして認識させるためのようです。 [Bug #4784]
marcandre:r31750 2011-05-27 22:55:21 +0900
Module#const_get, Module#const_defined? のドキュメントを修正しています。
marcandre:r31751 2011-05-27 22:55:43 +0900
Prog のドキュメントの体裁や例の修正をしています。
kou:r31752 2011-05-27 23:57:55 +0900
r31744 で追加した REXML::Text.new に freeze した文字列を渡すテストケースを独立したメソッドに分離しています。 [Bug #4783]
marcandre:r31753 2011-05-28 00:59:02 +0900
OpenStruct で と = メソッドが時に method_missing での引数のチェックがまずくて例外になっていたのを修正。 [ruby-core:33792] [Bug #4179]
svn:r31754 2011-05-28 00:59:06 +0900
version.h の日付更新。
kosaki:r31755 2011-05-28 02:09:27 +0900
r31747 でバッファへの読み込みのループから break したあとにきちんと return するようにしています。
kosaki:r31756 2011-05-28 02:23:30 +0900
String#bytesize で INT2NUM() のかわりに LONG2NUM() を利用するように修正しています。 [ruby-core:36511] [Bug #4789]
kosaki:r31757 2011-05-28 02:25:19 +0900
r31756 の ChangeLog のメールアドレスの修正。
naruse:r31758 2011-05-28 03:06:42 +0900
r31755 ではバッファにエンコーディング未変換のバイトが残っているかどうかを区別していなかったので戻り値を条件分岐するようにしています。
akr:r31759 2011-05-28 08:45:12 +0900
open-uri.rb のコメントに少し追記しています。
kosaki:r31760 2011-05-28 16:11:54 +0900
SIGPIPE を無視するために sigpipe() という空のシグナルハンドラを用意してこれを設定していましたが、SIG_IGN を設定するようにしています。 [ruby-dev:43215]
Mac OS X で test-all がたまに sigpipe() で SEGV しているようでした。
kosaki:r31761 2011-05-28 22:52:03 +0900
r31760 で SIGPIPE を SIG_IGN に設定するようにしましたが、昔(2001年!) exec で別のコマンドを呼び出した時に SIG_IGN がそのまま引き継がれるために Kernel#system などで子プロセスが終了しない不具合があったために SIG_IGN から空のシグナルハンドラに変更されていたようです。exec の直前に SIGPIPE のハンドラを SIG_DFL にリセットするように修正しています。 [ruby-dev:12261]
kosaki:r31762 2011-05-29 00:24:18 +0900
before_exec() と after_exec() を関数マクロから関数へ変更しています。
svn:r31763 2011-05-29 00:24:22 +0900
version.h の日付更新。