ruby-trunk-changes r55619 - r55628

今日は ISO-8859-1,4 などの casemap 対応の実装追加などがありました。

hsbt: r55619 2016-07-10 08:57:52 +0900

thread.c の getclockofday() で明示的なキャストを追加しています OS X の clang でのビルドエラー対策とのこと。

svn: r55620 2016-07-10 08:57:54 +0900

version.h の日付更新。

nobu: r55621 2016-07-10 14:27:27 +0900

util.c の ruby_dtoa() で r55604 の Float#round の丸めの調整と同様に丸めの桁数が指定された時に厳密にその次の桁の半分が表現できない場合の丸め方向の調整を行なっています。 Float#to_s と Marshal でも ruby_dtoa() は呼ばれていますが、この時は digits は 0 なので問題にはらなず、sprintf での Float の文字列化でプラットフォームによっては呼ばれる可能性があるみたいです。多分たいていの場合はシステムの vsnprintf(3) などが呼ばれるのでこの影響は受けない(そしてその場合結果がどうなるかはそのプラットフォームの標準ライブラリの実装次第)と思います。

duerst: r55622 2016-07-10 16:14:34 +0900

test/ruby/enc/test_case_comprehensive.rb の generate_ascii_only_case_mapping_tests というテスト生成ユーティリティのコメントを修正しています。 casemap 関連のエンコード毎のテスト対応は完了したってことですかね。

duerst: r55623 2016-07-10 16:17:51 +0900

r55622 のぶんの ChangeLog エントリの追記。

duerst: r55624 2016-07-10 17:05:39 +0900

ISO-8859-4 の大文字小文字変換の casemap 対応が実装されています。

svn: r55625 2016-07-10 17:05:40 +0900

r55624 の行末の空白除去。

duerst: r55626 2016-07-10 19:33:51 +0900

ISO-8859-1 と ISO-8859-15 の case_map() の変更しないする code を追加して、test/ruby/enc/test_case_comprehensive.rb のテストで Encoding::UndefinedConversionError が発生した時に i と I 以外は無視させるようにしています。いいのかな。

duerst: r55627 2016-07-10 19:53:45 +0900

ISO-8859-10 の大文字小文字変換の casemap 対応を実装しています。

nobu: r55628 2016-07-10 23:28:25 +0900

r55624 での enc/iso_8859_4.c のインデント修正。