ruby-trunk-changes r58776 - r58780

今日は標準添付ライブラリ csv の最適化や Dir.pwd などの潜在的メモリリークの修正などがありました。

ko1: r58776 2017-05-17 23:43:22 +0900

r58771 の rubyspec で world writable なパスを PATH に通していた時にテストを skip するようにしたのを、結果のチェックのしかたを変えることで通すように修正しています。

hsbt: r58777 2017-05-18 11:42:16 +0900

標準添付ライブラリ csvCSV#shift で一時オブジェクトの生成を抑制する最適化を行なっています。 https://github.com/ruby/ruby/pull/1607

svn: r58778 2017-05-18 11:42:17 +0900

version.h の日付更新。

hsbt: r58779 2017-05-18 14:29:04 +0900

make update-simplecov のコマンドでチェックアウトするディレクトリ名をリポジトリ名と同じにするように修正しています。

nobu: r58780 2017-05-18 20:29:42 +0900

rb_dir_getwd() および ruby_getcwd() でメモリ確保したものが例外発生時に解放されない可能性があったのを Data_Wrap_Struct() で T_DATA 型のオブジェクトを作ってその ptr にポインタを持たせておくことで GC で解放できるようにしています。こういうのは内部的な String オブジェクトを作る関数を使ったりしてたと思うけど getpwd(3) が malloc(3) で確保した領域を返す(環境がある)からメモリ確保部分をいじれないからか。