ruby-trunk-changes r30816 - r30825

機能追加で Net::HTTP で https の SNI サポートが入っています。あとは細かな修正です。

akr:r30816 2011-02-07 22:37:43 +0900

https プロトコルの SNI(Server Name Indication) という機能のサポートを Net::HTTP に追加しています。 SNI とは何かなと少し検索してみると、同じアドレスのマシンに複数のホスト名/ドメイン名を割り当てて見えるページを振り分けるというのを https(SSL)プロトコルでできるようにするための仕様のようです。 [ruby-dev:43164] 参考URL: http://stackoverflow.com/questions/4685736/openssl-server-name-indication-support-in-ruby

nagachika:r30817 2011-02-07 23:01:01 +0900

r30747 の lib/benchmark.rb Benchmark#bmbm で後始末を Object#tap を使っていたのを ensure を使うようにしています。ただ影響がグローバルな STDOUT.sync を変更する手法をライブラリで取るのは望ましくないので IO#flush を使うように Benoit さんがリファクタリングしてくれそうなのでそちらはおまかせ。

nobu:r30818 2011-02-08 00:53:15 +0900

misc/ruby-mode.el でなにやら末尾にコロンがついた識別子を認識するようにしています。おそらく 1.9 の JSON っぽい Hash の書き方ができる文法追加に追随しているのでしょう。

nobu:r30819 2011-02-08 00:56:34 +0900

こちらも emacs 用の ruby-mode.el の修正。どうやらヒアドキュメントと特異クラス定義(どちらも "<<" を使うので)が誤認識するのを修正しているようです。

nagachika:r30820 2011-02-08 01:01:57 +0900

process.c で一時変数(暗黙の文字列への変換が行なわれた場合は一時オブジェクトが格納される可能性がある)がコンパイラの最適化で消されて GC されてしまわないようにガードを追加しています。

kosaki:r30821 2011-02-08 14:03:07 +0900

r30725 (Mac OS X で fdatasync() を無効にする)を revert しています。 r30762 で fdatasync(2) が失敗したら fsync(2) に fallback するようにしたのでこのケアは不要になったということです。つまり Mac OS X で fdatasync() を誤検出するというのは、呼べるけど常に失敗するということだったんですね。

kosaki:r30822 2011-02-08 16:01:23 +0900

Process.spawn 等で umask のオプションを扱う時に mode_t からの変換に MODET2NUM() を利用するようにしています。

kosaki:r30823 2011-02-08 16:04:45 +0900

IO.sysopen の mode 引数を mode_t に変換する時に NUM2MODET() を利用するように修正しています。

kosaki:r30824 2011-02-08 19:26:42 +0900

configure.in のメッセージの typo 修正。[Bug #4384][ruby-core:35148]

nobu:r30825 2011-02-08 19:38:01 +0900

ruby-mode.el のヒアドキュメントと特異クラス宣言の開始の判定の条件が誤ってくっついていたのを修正しているようです。