ruby-trunk-changes r57772 - r57782

今日は主にドキュメントの修正と VM 命令列のコンパイルエラー時のメモリリークの修正などがありました。

nobu: r57772 2017-03-04 23:21:57 +0900

compile.c の validate_label() でエラーメッセージに埋め込む label_name を ID ではなく Symbol から文字列化するようにしています。iseq_compile_each() で label_name という変数に ID ではなく Symbol を格納するようにしていますが、この変数の型は ID だから VALUE にしたほうがいいのではないかなぁ。

nobu: r57773 2017-03-04 23:37:22 +0900

compile.c で COMPILE_ERROR() でエラーを返す時に generated_iseq と line_info_table の解放を忘れないように BADINSN_ERROR というマクロを追加してこれを使うようにしています。一部で解放漏れがあったみたいです。

nobu: r57774 2017-03-04 23:44:05 +0900

compile.c で INSN(VM 命令)のオペランドの数を assert(3) でチェックしていたところがあったので、例外発生させるようにしています。これは ISeq をロードする処理なので入力によって不正な値が渡される可能性があるので assert はよくないってことみたいです。

stomar: r57775 2017-03-05 04:52:30 +0900

標準添付ライブラリ optparse の OptParse という OptionParser の別名に rdoc 用コメントを追加しています。 [ruby-core:79909] [Bug #13281]

svn: r57776 2017-03-05 04:52:31 +0900

version.h の日付更新。

stomar: r57777 2017-03-05 05:02:48 +0900

lib/unicode_normalize.rb で String クラスにメソッドを追加しているところがあるので、そこのコメントが rdoc のドキュメントになってしまわないように rdoc のタグ?を追加しています。

stomar: r57778 2017-03-05 05:08:04 +0900

String#== の rdoc 用コメントの体裁を修正しています。

nobu: r57779 2017-03-05 10:46:20 +0900

Math.log10 で底が10の2の対数を M_LN2/M_LN10 で計算していたところを log10(2) に変更しています。このほうがより正確とのこと。 [ruby-core:79907] [Bug #13279]

stomar: r57780 2017-03-05 21:36:09 +0900

IO#print の rdoc 用コメントの文章の修正。 [ruby-core:78291] [Bug #12975]

stomar: r57781 2017-03-06 04:43:10 +0900

IO#write, IO#read, IO#sync= の rdoc 用コメントの文法の修正やサンプルの追加など。

svn: r57782 2017-03-06 04:43:11 +0900

version.h の日付更新。