ruby-trunk-changes r56949 - r56956

今日は正規表現Unicode 9.0.0 の絵文字の扱いの改善、\u{XXXX} 記法のチェックの強化などがありました。

naruse: r56949 2016-12-01 02:29:19 +0900

正規表現での Unicode 9.0.0 の絵文字の扱いについて改善するため GraphemeBreakProperty.txt という Unicode のデータファイルをダウンロードしてきて文字の境界の扱いについて修正しています。 grapheme cluster という複数の codepoint が集まることで1つの文字(表示上ひとつの文字と認識されるもの)になるという仕組みがあるそうで、それをうまく扱かうための対処みたいです。 [ruby-core:77586] [Feature #12831]

svn: r56950 2016-12-01 02:29:20 +0900

version.h の日付更新。

nobu: r56951 2016-12-01 09:34:41 +0900

enc/unicode/*/casehold.h の CaseMappingSpecials という配列変数の宣言に static const を付けるようにしています。

nobu: r56952 2016-12-01 09:34:42 +0900

tool/enc-unicode.rb で生成する name2ctype.h で配列のメモリ量を削減するため構造体メンバの型を変更しています。また offsetof() マクロを利用するようにしています。

rhe: r56953 2016-12-01 13:42:10 +0900

拡張ライブラリ openssl の upstream から OpenSSL 0.9.8 に存在しなかった関数の対応やテストの修正などをマージしています。

shugo: r56954 2016-12-01 13:51:42 +0900

fifo にリダイレクトされた stdin を持つ子プロセスを起動するテストでシグナル送信前に子プロセスが begin 節に入ったことを確認するため pipe 経由で出力を受け取るようにしています。 Solaris 上の CI でタイミングが合わずにエラーになってたみたいです。

hsbt: r56955 2016-12-01 14:24:00 +0900

gems/bundled_gems の minitest と test-unit のバージョンを更新しています。

nobu: r56956 2016-12-01 17:26:39 +0900

parse.y の \u{XXXX} の記法の解析で Unicode として不正な codepoint の値が表現されていたらエラーにするようにしています。