ruby-trunk-changes r52674 - r52685

今日は Refinements の using の位置で影響範囲が変わるようにする修正や、標準添付ライブラリ net/http の不具合修正、Logger::LogDev に synchronize メソッドが呼べるようにする変更などがありました。

normal: r52674 2015-11-20 07:09:47 +0900

.gitattributes ファイルを追加して diff のスタイルを指定するようにしています。こんなことができるんですね。 [ruby-core:71578] [Feature #11713]

svn: r52675 2015-11-20 07:10:23 +0900

version.h の日付更新。

svn: r52676 2015-11-20 07:10:29 +0900

r52674 で新規追加されたファイルの svn property 設定。

ko1: r52677 2015-11-20 09:17:25 +0900

Refinements で using を呼ぶ前と後に定義したメソッド内からのメソッド呼び出しに Refinements が影響するかどうかが変わらない(using の影響が同じスコープ?内に遡って適用される)ようになっていたのを、using の後でのみ有効になるように修正しています。 using するたびに CREF をコピーして別のものを使うようにしています。 Refinements 難しいですね… [ruby-core:69518] [Bug #11247]

hsbt: r52678 2015-11-20 12:44:12 +0900

標準添付ライブラリ rss の private メソッド validate_sy_updatePeriod に :nodoc: コメントをつけています。 https://github.com/ruby/ruby/pull/1105

hsbt: r52679 2015-11-20 12:48:10 +0900

Socket.getaddrinfo の rdoc 用コメントから socktype の例として :UNIX が含まれていたのを削っています。 https://github.com/ruby/ruby/pull/990

hsbt: r52680 2015-11-20 12:53:25 +0900

Array#take_while と Array#drop_while の rdoc 用コメントの用例でのブロックパラメータの名前を変更しています。 https://github.com/ruby/ruby/pull/1028

nobu: r52681 2015-11-20 13:03:10 +0900

tool/enc-unicode.rb に --header オプションを追加して name2ctype.h を生成して差分を表示することができるようにしています。開発中のデバッグ用ですかね?

hsbt: r52682 2015-11-20 14:40:04 +0900

標準添付ライブラリ net/http で OpenSSL::SSL::SSLSocket#hostname= でホスト名を設定するのを #session= でセッション情報をセットする前に移動しています。 SNI (Server Name Indication。ホスト名を元に利用する証明書を決める仕組み)が client としてうまく働いていなかったみたいです。 https://github.com/ruby/ruby/pull/964 [ruby-core:70152] [Bug #11401]

hsbt: r52683 2015-11-20 14:57:10 +0900

標準添付ライブラリ net/http で Expect: 100-continue というリクエストヘッダが含まれていると Net::HTTP#transport_request で throw によってレスポンスが返されることがあり、その場合にレスポンスの読み込みが行なわれない不具合があったので修正しています。 https://github.com/ruby/ruby/pull/949
これはバックポート対象っぽいですね。 [Bug #11722]

hsbt: r52684 2015-11-20 15:05:35 +0900

r52683 の ChangeLogGitHub の pull request の参照番号を追記しています。

sonots: r52685 2015-11-20 23:16:56 +0900

標準添付ライブラリ logger で MonitorMixin を Logger::LogDevice::LogDeviceMutex というクラスに include してこれを使っていた(単に include しただけのクラスを作るんだったら直接 Monitor を使ってもよかったようですが…)のを、Logger::LogDevice に直接 MonitorMixin を include するようにしています。 pull request をみると Logger を継承したクラスを作った時に @logdev に対して直接 synchronize が呼べたほうが便利ということみたいですね。 https://github.com/ruby/ruby/pull/541