ruby-trunk-changes r37788 - r37807

今日も DTrace のビルド関連の変更や DTrace 導入時に不要なデバッグ用処理が常に有効になっていた問題の修正、また nkf の新しいバージョンのマージなどがありました。

kazu:r37788 2012-11-21 23:37:22 +0900

r37772 と r37785 の ChangeLogtypo 修正。

tadf:r37789 2012-11-22 02:25:59 +0900

NEWS ファイルの体裁や順番の入れ替えなどです。

svn:r37790 2012-11-22 02:26:11 +0900

version.h の日付更新。

nari:r37791 2012-11-22 08:09:46 +0900

r37783 で追加した GC::Profiler.clear のテストの typo 修正。 [ruby-core:49828] [Bug #7419]

knu:r37792 2012-11-22 14:02:30 +0900

String#index に空文字/空の正規表現を渡したり、レシーバが空文字列の時のテストを追加しています。

knu:r37793 2012-11-22 14:23:12 +0900

rb_memsearch_ss() でバイト単位の文字列内の検索で memmem(3) が使えない環境での memchr(3) を使った高速化です。 [ruby-dev:45530] [Feature #6311]

knu:r37794 2012-11-22 14:32:31 +0900

lib/set.rb と lib/rake/ruby182_test_unit_fix.rb の実行権限がついていたのを落しているようです。

knu:r37795 2012-11-22 14:54:13 +0900

他にも tool や template の下のファイルの実行権限を落しています。

naruse:r37796 2012-11-22 15:28:17 +0900

r37631 で DTrace 対応した時に VM_COLLECT_USAGE_DETAILS の定義されていない時も COLLECT_USAGE_INSN(), COLLECT_USAGE_OPERAND() が関数呼び出しするようにされてしまっていたのを元に戻しています。

kosaki:r37797 2012-11-22 16:23:40 +0900

r37796 で戻した VM_COLLECT_USAGE_DETAILS の定義について VM_COLLECT_USAGE_DETAILS が偽の時は vm_collect_usage_insn() と vm_collect_usage_operand() の定義自体を消すようにしています。

kosaki:r37798 2012-11-22 17:01:49 +0900

DTrace のプローブを定義している probe.d で VM_COLLECT_USAGE_DETAILS が真のときだけ insn と insn__operand のプローブを定義するようにしています。 [ruby-core:49410] [Bug #7370]

kosaki:r37799 2012-11-22 17:41:19 +0900

r37798 で probe.h に #if を導入したので tool/gen_dummy_probes.rb で #include や #if を upcase してしまっていたのを抑制しています。 [ruby-core:49410] [Bug #7370]

naruse:r37800 2012-11-22 17:47:30 +0900

ext/nkf/nkf-utf8/ に nkf の upstream からマージしています。 JIS X 0213 のサポートとバグ修正とのこと。

naruse:r37801 2012-11-22 18:03:43 +0900

dtrace コマンドのオプションに -C を追加しています。 #include を dtrace で展開するために必要みたいです。コミットログを読むと逆みたいですけど、ヘルプメッセージによると "run cpp(1) preprocessor on script files" とあるので多分展開してくれるんだと思います。また probes.d で #include するのを vm_core.h から vm_opts.h に変更して VM_COLLECT_USAGE_DETAILS の定義もそちらに移動しています。こちらのほうが小さいヘッダファイルだからでしょう。

usa:r37802 2012-11-22 18:16:48 +0900

DTrace 関連のビルドの修正。 common.mk にあった .dmyh から .h へのルールを Makefile.in と win32/Makefile.sub に分割して win32/Makefile.sub 側は probes.h のルールに明示的に書くようにしています。 nmake の動作に対応するためと思われます。 [ruby-core:49839] [Bug #7421]

kosaki:r37803 2012-11-22 20:25:01 +0900

r37802 の .dmyh.h のルールに $(VPATH) がついていたのを削除しています。 GNU make は Suffix rule に VPATH が使えないとのこと。ビルドプロセス難しいですね。

tadf:r37804 2012-11-22 20:32:52 +0900

Complex() と Rational() で文字列のパースの際に RSTRING_PTR() が NULL を返したりバッファの文字列の末尾の後ろに '\0' が含まれていなかった場合のケアをしています。 うーん RSTRING_PTR() が NULL を返すことってありえるんでしたっけ?

tadf:r37805 2012-11-22 21:36:22 +0900

ruby -h/--help で表示されるヘルプメッセージが 80桁以内に収まっていることを確認するテストを追加しています。

usa:r37806 2012-11-22 21:49:59 +0900

DTrace 関連のビルドの再修正です。 また probes.dmyh の参照にソースディレクトリ固定じゃなくて $(VPATH) を使うようにしています。

kazu:r37807 2012-11-22 22:00:03 +0900

r37802 の ChangeLog のエントリの typo 修正。