ruby-trunk-changes r53396 - r53407

新年最初の ruby trunk changes です。今日は ostruct の不具合修正、インデント除去ヒアドキュメントとシングルクオートヒアドキュメントを組み合わせた時の不具合修正、CSV の :liberal_parsing というオプションの追加などがありました。

nobu: r53396 2016-01-01 03:26:46 +0900

標準添付ライブラリ ostruct の OpenStruct#freeze を定義してメソッド定義を遅延していたのを freeze 後に追加しようとしてエラーになるのを回避するため定義しておくようにしています。

svn: r53397 2016-01-01 03:26:59 +0900

version.h の日付更新。

nobu: r53398 2016-01-01 05:06:22 +0900

インデント除去ヒアドキュメントの終了トークンのところをシングルクオートで囲んだ時にインデントの除去が先頭の空白文字を全て削ってしまうようになっていたのを修正しています。 [ruby-core:72479] [Bug #11871]

nobu: r53399 2016-01-01 08:53:04 +0900

Enumerator::Lazy#take に負の整数を渡した時のテストを追加しています。 [ruby-dev:49467] [Bug #11933]

nobu: r53400 2016-01-01 10:27:30 +0900

r49556 で Apple のパッチを取り込んで tool/mkconfig.rb で環境変数 SDKROOT を includedir の prefix に追加するようにしていたのを、oldincludedir に追加するようにしています。 https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html [ruby-core:72496] [Bug #11881]

jeg2: r53401 2016-01-01 11:44:48 +0900

標準添付ライブラリ csvCSV.new にオプション :liberal_parsing を追加して RFC 4180 に従っていない CSV もパースできるようにしています。クオート記号がクオートされていないカラムに含まれるようなものも受け付けるようにしているようです。

nobu: r53402 2016-01-01 12:05:55 +0900

compile.c の remove_unreachable_chunk() で ISeq のコンパイル時に参照されていないラベルを削除して未使用のコードをより除去するようにしています。

nobu: r53403 2016-01-01 15:28:58 +0900

r53402 の追加修正。 remove_unreachable_chunk() に iseq 全体も引数に受け取るようにして call_info の配列サイズも縮小するようにしています。

hsbt: r53405 2016-01-01 21:39:29 +0900

r53404 の ChangeLog エントリに GitHub の pull request の参照を追記しています。

kazu: r53406 2016-01-01 22:02:56 +0900

NEWS ファイルに r53401 での CSV の :liberal_parsing オプションの追加について追記しています。

marcandre: r53407 2016-01-02 02:27:38 +0900

標準添付ライブラリ ostruct で OpenStruct を freeze してからアクセスして動的にメソッド追加しようとしたら例外が発生していたのを修正するため method_missing で freeze されていたらメソッド追加しないようにしています。しかしこれは r53396 で freeze 時に定義を事前にしておくようにしたので回避済みじゃないかな。 [ruby-core:72639]