ruby-trunk-changes r59033 - r59046

今日は rexml の閉じタグ確認の不具合修正や Proc オブジェクト内の break による LocalJumpError の判定の不具合修正などがありました。

kou: r59033 2017-06-07 22:01:28 +0900

標準添付ライブラリ rexml の REXML::Parsers::StreamParser#parse でドキュメントの終端でのタグの閉じ忘れをチェックするようにしています。 [ruby-core:81593] [Bug #13636]

svn: r59034 2017-06-07 22:01:28 +0900

r59033 で新規追加されたファイルの svn property 設定。

nobu: r59035 2017-06-07 23:36:18 +0900

load.c で RUBY_DTRACE_HOOK() マクロの引数に StringValuePtr() マクロの呼び出しを含めていたため、フックの有無で変換が走ってしまっていたので RSTRING_PTR() で文字列オブジェクトのバッファアクセスのみにするように(必要なら変換後に移動して)修正しています。

odaira: r59036 2017-06-08 07:25:23 +0900

tool/make-snapshot で make コマンドが直書きされていたのを環境変数 MAKE や make も参照するようにしています。

svn: r59037 2017-06-08 07:25:24 +0900

version.h の日付更新。

nobu: r59038 2017-06-08 10:19:44 +0900

appveyor.yml で make test-all と test-spec も実行するようにしています。

nobu: r59039 2017-06-08 10:58:42 +0900

appveyor.yml でテスト前に locale と filesystem encoding を表示するコマンドを追加しています。調査用ですね。

nobu: r59040 2017-06-08 10:58:44 +0900

rb_dir_getwd() を常に filesystem encoding でパスを返すようにして呼び出し元での変換を削ったり、逆に変換しなおすようにしたりしています。

nobu: r59041 2017-06-08 11:07:42 +0900

$0 に格納されるスクリプト名の文字列のエンコーディングを process_options() で変換する場合に変換前の文字列を変数に取っておいて open_load_file() にはそちらを渡して余計な変換を抑制するようにしています。

ko1: r59042 2017-06-08 13:06:07 +0900

compile.c で ADD_CATCH_ENTRY() の引数のポインタの値に 0 を使っているところを NULL に変更しています。そういえば normal さんも NULL じゃなくて 0 をよく使いますよね。

ko1: r59043 2017-06-08 13:13:51 +0900

ブロック内の break がブロックが Proc オブジェクトとして取り出された後に呼ばれた時に LocalJumpError になるはずのところがなってなかった(SEGV してた?)不具合を修正しています。 VM 命令へのコンパイル時に判定に使う ADD_CATCH_ENTRY() に渡す child_iseq のポインタが漏れてたみたいです。

svn: r59044 2017-06-08 13:13:52 +0900

r59043 の行末の空白除去。

ko1: r59045 2017-06-08 14:22:49 +0900

vm_block_handler_verify() という block_handler をチェックする関数で return 1 して呼び元で再度 VM_ASSERT() を呼んでたのを void 型に変更して不要な VM_ASSERT() の呼び出しを消しています。

nobu: r59046 2017-06-08 16:41:38 +0900

signal.c の install_sighandler() がエラーを返した時に rb_bug() で異常終了させていたのを、SIGSEGV, SIGBUS, SIGILL や SIGVTALRM など予約されているシグナルでなかったら無視するようにしています。 valgrind から実行された時に SIGUSR2 を設定しようとして失敗することがあるそうです。