ruby-trunk-changes r46048 - r46062

今日は net/smtp の不具合修正や birthtime の Windows 版実装追加などがありました。

akr: r46048 2014-05-22 23:08:17 +0900

ext/socket/mkconstants.rb にで生成する拡張ライブラリ socket の定数定義に Linux で使用できる定数 TCP_CONGESTION、TCP_COOKIE_TRANSACTIONS、TCP_QUEUE_SEQ etc... を追加しています。また説明に利用できる Linuxglibc のバージョンを追記しています。

nobu: r46049 2014-05-22 23:34:54 +0900

Windows 版の File::Stat#birthtime などの実装を追加しています。 stat_ctime() で代替しています。 Windows では ctime が created time となっているため。

nobu: r46050 2014-05-22 23:34:56 +0900

r46035 の拡張ライブラリを static link する時に ext/-test- の下の拡張ライブラリ(インストールしないもの)はビルドできないのでスキップするようにする ext/extmk.rb の変更で --enable-shared がないとビルドされなくなっていたので、条件に CONFIG["EXTSTATIC"] == "static" も追加しています。

nobu: r46051 2014-05-22 23:34:58 +0900

r46039 で追加した enc/jis/props.kwd のテーブルの変数に const を付加しています。ポインタの指す中身ではなくて変数自体の変更もしないような宣言にしています。

nobu: r46052 2014-05-23 00:09:11 +0900

同じく r46039 で追加した enc/jis/props.h でコンパイラの警告除去のため、構造体内のメンバの位置を取得するのに offsetof() を利用するように書き直しています。

svn: r46053 2014-05-23 00:09:15 +0900

version.h の日付更新。

normal: r46055 2014-05-23 05:17:48 +0900

gc.c の rb_free_m_tbl() を static 関数にして method.h からプロトタイプ宣言を削除しています。

nobu: r46056 2014-05-23 13:37:02 +0900

enc/unicode.c の st_table のコールバック関数の引数を st_data に変更して関数内でキャストした変数を定義するようにしています。また onigenc_unicode_fold_lookup() と onigenc_unicode_apply_all_case_fold() でポインタ変数に const 修飾子を付加しています。

nobu: r46057 2014-05-23 13:44:15 +0900

enc/unicode.c の onigenc_unicode_get_case_fold_codes_by_str() から onigenc_unicode_fold_lookup()、onigenc_unicode_unfold1_lookup()、onigenc_unicode_unfold2_lookup()、onigenc_unicode_unfold3_lookup() などの関数を抽出するリファクタリング

nobu: r46058 2014-05-23 19:34:13 +0900

File.stat のテストに birthtime のチェックを追加しています。

nobu: r46059 2014-05-23 21:31:58 +0900

File.stat のテストで ctime の意味が Windows では異なっているので birthtime と比較することでそれを検出してチェックをスキップするようにしています。あれ、でもこれまでこのチェック通ってたんですよね…? ああ r46047 で追加されたテストメソッドだから Windows ではコケてたのか。

nobu: r46060 2014-05-23 21:36:30 +0900

標準添付ライブラリ net/smtp で行頭の "." を ".." に置換する処理(dot stuffing) が改行のない最後の行で行われない不具合を Net::InternetMessageIO#using_each_crlf_line でも行うようにして修正しています。 [ruby-core:61441] [Bug #9627] https://github.com/ruby/ruby/pull/616

ayumin: r46061 2014-05-24 00:32:19 +0900

r45878 の Prime.prime? の負の数を素数と判定しなくした変更を incompatible change として NEWS ファイルに追記しています。 [ruby-core:49558] [Bug #7395]

svn: r46062 2014-05-24 00:32:23 +0900

version.h の日付更新。