ruby-trunk-changes r55629 - r55632

今日は拡張ライブラリ stringio の readlines などの最適化と、ISO-8859-1 の casemap 対応の修正などがありました。

nobu: r55629 2016-07-11 16:00:58 +0900

r55603 で IO.readlines や IO.foreach の引数の解析を行毎のコールバック内でやってたのを最初に1回だけするようにしましたが、拡張ライブラリ stringio の StringIO#each_line や StringIO#readlines でも同様に stringio_getline() から引数解釈の部分を切り出して事前にやっておくようにしています。

svn: r55630 2016-07-11 16:00:59 +0900

version.h の日付更新。

duerst: r55631 2016-07-11 17:49:38 +0900

Encoding の ISO-8859-{4,10,14,15,16} の casemap 対応の関数 case_map() で code point を直書きして分岐していたところを ENC_ISO_8859_XX_TO_LOWER_CASE() というテーブル参照のマクロを利用するようにリファクタリングしています。

duerst: r55632 2016-07-11 18:05:53 +0900

Encoding の ISO-8859-1 の case_map() 関数で、小文字に対応する大文字が存在しない code point のチェックを操作が upcase の操作の時の分岐内に移動しています。