ruby-trunk-changes r52395 - r52412

今日は man ページの修正や DTrace の probe 挿入マクロのリファクタリングなどがありました。

nobu: r52395 2015-10-31 09:02:19 +0900

tool/generic_erb.rb と tool/ifchange で出力の色付けを tput の出力が空の時には抑制するようにしています。

svn: r52396 2015-10-31 09:02:31 +0900

version.h の日付更新。

nobu: r52397 2015-10-31 09:17:41 +0900

rb_source_location() で location が得られたかった時に引数の pline を 0 にセットするようにしています。

nobu: r52398 2015-10-31 10:02:26 +0900

rb_sourcefilename() と rb_sourcefileline() を利用していたところを rb_source_location() または rb_source_loc() (ファイル名を VALUE で返すか const char * で返すかが異なる) を利用するように変更しています。

nobu: r52399 2015-10-31 10:02:29 +0900

r52340 で RUBY_DTRACE_CREATE_HOOK() という DTrace の probe 挿入用マクロを導入しましたが、それをオブジェクト生成以外のイベントにも使うようにイベント名を引数に受け取るマクロ RUBY_DTRACE_HOOK() を導入して、他の種類の probe 挿入箇所でもこれを利用するようにリファクタリングしています。

nobu: r52400 2015-10-31 10:22:51 +0900

NameError の例外メッセージを生成するための format 文字列の typo で正確にメッセージに receiver の情報が埋め込めていなかった不具合を修正しています。 https://github.com/ruby/ruby/pull/1077 [ruby-core:71282] [Bug #11640]

nobu: r52401 2015-10-31 10:25:32 +0900

拡張ライブラリ tk の Windows 用コード部分で変数に volatile をつけることで GC 対策していたのを RB_GC_GUARD() を利用するように書きかえています。

ko1: r52402 2015-10-31 10:32:02 +0900

vm_search_super_method() で引数の struct rb_call_info::mid を上書きしていたのを、ローカル変数で代替して弄らないようにしています。そして引数には const 修飾子をつけています。

nobu: r52403 2015-10-31 12:18:25 +0900

r52400 で追加したテストで例外を rescue してテストしてたのを assert_raise_with_message を使ってチェックするように変更しています。 また did_you_mean.gem の存在によりメッセージに追加されることがあるので、正規表現を全体へのマッチではなくて行単位のマッチで確認するようにしています。 [ruby-core:71282] [Bug #11640]

nobu: r52404 2015-10-31 13:54:45 +0900

vm_call_method_missing() で引数の前にメソッド名の Symbol を追加するために VM スタック上の引数を1つずらす処理で argc は +1 済みなので1つ余分に MEMMOVE() していたのを修正しています。

ko1: r52405 2015-10-31 14:01:40 +0900

r52402 の vm_search_super_method() での struct rb_call_info::mid を変更しないようにする commit を revert しています。

nobu: r52406 2015-10-31 14:19:36 +0900

super で親クラスに対応するメソッドがみつからなかった時の NoMethodError 例外の message, receiver, name などのテストを追加しています。
r52402 は revert されましたが、super や alias による時の method_missing で SEGV をしていたそうで、そのケースを追加しているそうです。

nobu: r52407 2015-10-31 14:55:28 +0900

man/ruby.1 で --{enable|--disable} のところに Fl というマクロの挿入漏れを修正しています。 また tool/mdoc2man.rb というツールで Bro と Brc というマクロへの対応を追加しています。

nobu: r52408 2015-10-31 14:58:12 +0900

同じく man/ruby.1 で -F オプションの使用例でオプションのあとに空白を入れられないのに空白が入ってしまっていたので修正しています。 [ruby-core:71283] [Bug #11641]

nobu: r52409 2015-10-31 15:02:04 +0900

同じく man/ruby.1 で -K オプションもオプション引数との間に空白を入れられないのに使用例で空白が入っていたので削っています。

nobu: r52410 2015-10-31 15:22:31 +0900

さらに man/ruby.1 で -F と -K の引数は省略可能なので Op を追加しています。

nobu: r52411 2015-10-31 15:22:46 +0900

man page のファイルを変換するためのツール tool/mdoc2man.rb で ":" の扱いを修正しています。 [-E external[:internal] ] というオプションのかっこの対応がくずれていたのを修正していたそうです。

hsbt: r52412 2015-10-31 20:16:02 +0900

拡張ライブラリ openssl のテストで暗号化方式の ECDH がサポートされていない環境でそのテストが失敗するのを skip するように修正しています。