ruby-trunk-changes r54432 - r54441

今日は open-uri の proxy_url の認証情報対応などがありました。

hsbt: r54432 2016-03-30 09:46:05 +0900

標準添付ライブラリ open-uri で :proxy オプションの proxy_url の username:pass@〜 の部分(userinfo) から認証情報を指定することができるようにしています。 https://github.com/ruby/ruby/pull/1148 https://github.com/ruby/ruby/pull/1309

nobu: r54433 2016-03-30 10:27:03 +0900

rational.c の get_dat1(), get_dat2() というマクロを変数宣言と代入に展開していたのを宣言と初期化を同時に行う 1つの文として展開するようにしています。 if とか while 文にかっこなしで入れても安心。そんなことしないとは思いますが。
[追記]これ、コードブロックの先頭の変数宣言の位置に書くと代入文に展開されるので、その後に続いて宣言を書くと C としては規約違反になってしまうという問題の回避のためだったそうです。 [/追記]

nobu: r54434 2016-03-30 16:33:21 +0900

doc/extension(.ja).rdoc で関数名やファイル名が変更されて情報が古くなっていたのを更新しています。 [ruby-core:74690] [Bug #12228]

nobu: r54435 2016-03-30 17:21:18 +0900

Hash[] で Hash オブジェクトを作成する時にはあらかじめ必要なサイズがわかっている(引数の数の 1/2)ので、最初からそのサイズの st_table を作成しておくようにしています。

nobu: r54438 2016-03-30 22:02:16 +0900

HASH_LOG というマクロが定義されていると /tmp/col${pid} に終了時に st_table の collision の情報をダンプするというデバッグ機能が有効になるみたいで(知らなかった)、この時に collision.total が 0 でゼロ除算を行うのを避けるようにしています。

nobu: r54439 2016-03-30 22:14:31 +0900

r54391 で rb_isascii() を inline 関数化したため parse.y で ID 型の変数について ISASCII() を呼んでいたところを signed char へのキャストを経由して値が変わらないことをチェックするように変更しています。signed char の範囲の ID はその1文字の Symbol にマッピングされてるんですね。

naruse: r54440 2016-03-31 03:41:46 +0900

昨日の r54423 の続きだと思いますが拡張ライブラリ nkf に upstream の変更を取り込んでいます。インデントの修正だけですね。

svn: r54441 2016-03-31 03:41:47 +0900

version.h の日付更新。