ruby-trunk-changes r63541 - r63544

今日は String#[]= や String#start_with? のちょっとした最適化などがありました。

nobu: r63541 2018-06-01 15:37:14 +0900

String#start_with? の rdoc 用コメントに引数に正規表現を受け取ることもできることを追記してサンプルも追加しています。おお、書いてなかった。と言うか渡せるようになったの7ヶ月前だった。ずっと渡せるような気がしてた。 [ruby-core:81897] [Feature #13712]

svn: r63542 2018-06-01 15:37:15 +0900

version.h の日付更新。

nobu: r63543 2018-06-01 15:53:26 +0900

string.c の String#[]= や String#start_with? の実装で TYPE() マクロで分岐していたのを RB_TYPE_P() や BUILTIN_TYPE() を使うように書き換えています。 RB_TYPE_P() はともかく BUILTIN_TYPE() は何が違うんだっけ…とみてみると struct RBasic::flags のビットフラグを直接みてるだけで即値にも対応している rb_type() 関数の呼び出しを省略してるものでした。ここでは T_STRING か T_REGEXP かそれ以外かだけがわかればいいから TYPE() までの解像度は不要ってことですね。

knu: r63544 2018-06-01 16:13:38 +0900

ビルドプロセスの修正で、LIBRUBY_ALIASES という変数に LIBRUBY_SO と同じファイル名のものがあると同じファイル名で symbolic link を作ろうとしてエラーになる? かなにかの問題があって --with-soneme をつけて configure した時に make install 時にエラーがおきてたのを修正しています。