ruby-trunk-changes r34100 - r34110

今日は readline の不具合修正と、いくつかテストの修正がありました。

akr:r34100 2011-12-22 23:39:46 +0900

ConditionVariable#wait のタイムアウトのテストで止まっていた時間の上限をチェックするのをやめています。Ruby は、というか一般的に利用されている OS はリアルタイム性を保障していないのでタイムアウトに指定した時間後にきっちり処理が再開されることは保障されません。

naruse:r34101 2011-12-22 23:58:16 +0900

Thread#kill で IO 待ちする Thread を停止する処理のテストをする test_thr_kill のタイムアウト時間を短くしています。

akr:r34102 2011-12-23 00:10:20 +0900

PTY.check のテストで sleep(0.1) だけ待っていますがその間に子プロセスの cat が終了しない可能性もあるので、ステータスが取得できないケースを考慮しています。

svn:r34103 2011-12-23 00:10:37 +0900

version.h の日付更新。

kazu:r34104 2011-12-23 06:06:19 +0900

ext/bigdecimal/bigdecimal.h と util.c の extern "C" { ... } のところにコメントアウトして対になる括弧を書くことで emacs の cc-mode の不要なインデント抑制にしている部分にその旨コメントを追加しています。

kazu:r34105 2011-12-23 06:06:23 +0900

make check のルールにテストが正常終了したら "check succeeded" と表示するコマンドを追加しています。また README, README.ja の表示されるメッセージについても変更しています。

akr:r34106 2011-12-23 09:24:52 +0900

PTY.check のテストにて、r34102 では cat が終わっていなくて status が取れなかったらチェックをスキップしていましたが、cat が終了するまで sleep を繰り返すように変更しています。

akr:r34107 2011-12-23 10:15:35 +0900

test_thr_kill で Thread#kill のループを繰り返した回数を一時ファイルに記録しておいて、タイムアウトした時には何回実行されていたのかをメッセージに出すようにしています。

kouji:r34108 2011-12-23 16:02:42 +0900

拡張ライブラリ readline の初期化時の rl_getc_function の設定を using_history() を呼ぶ前に移動することで、Editline とリンクしている時に Readline.readline で入力を待っている間インタプリタ全体がブロックしてしまう問題を修正しています。これで Mac OS でシステムに元からインストールされている libeditline とリンクした時も irb などで Thread がちゃんと背後で動いてくれます。 [ruby-core:40641] [Bug #5539]

kouji:r34109 2011-12-23 16:38:14 +0900

拡張ライブラリ readline を GNU Readline 6 とリンクした時に completion_append_character を空にしても補完すると、GNU Readline が readline(3) 内でリセットしてしまうため、補完結果のあとに空白が挿入されてしまうので、拡張ライブラリ側で保存しておいて補完処理に入った時に毎回戻すようにしています。 [ruby-dev:43456] [Feature #4635]

akr:r34110 2011-12-23 16:55:39 +0900

Thread#kill のテスト test_thr_kill の変数名変更とタイムアウト時のエラーメッセージの変更です。