ruby-trunk-changes r42156 - r42169

drbrain:r42156 2013-07-25 07:16:11 +0900

RubyGems の master の最新版(commit hash 4ff70cc)をマージしています。 make install しないで make test-all すると失敗するテストがあったのでその対応が主な変更点だと思います。

svn:r42157 2013-07-25 07:16:19 +0900

version.h の日付更新。

nobu:r42158 2013-07-25 10:14:53 +0900

lib/rubygems/remote_fetcher.rb の行末の空白除去。

ko1:r42159 2013-07-25 12:39:50 +0900

拡張ライブラリ openssl のスレッドセーフ化の変更の再修正。 CRYPTO_set_dynlock_create_callback()、CRYPTO_set_dynlock_lock_callback()、CRYPTO_set_dynlock_destroy_callback() などのコールバック関数の登録も追加しています。 [ruby-core:54900] [Bug #8386]

nobu:r42160 2013-07-25 13:06:50 +0900

file.c のホームディレクトリ取得の関数 rb_home_dir() から rb_home_dir_of() と rb_default_home_dir() と関数を切り出して dir.c の dir_s_home() から利用するようにするリファクタリング

naruse:r42161 2013-07-25 13:16:08 +0900

r42160 の三項演算子の "?" が抜けていたのを修正。

ko1:r42162 2013-07-25 16:19:59 +0900

encoding.c の check_encoding() で is_data_encoding() でオブジェクトの型をチェックする前に RB_TYPE_P() で T_DATA 型のオブジェクトであることをチェックするようにしています。 is_data_encoding() が T_DATA 型を前提としていたため。

naruse:r42163 2013-07-25 16:24:12 +0900

r42162 の修正に対するテストを追加しています。

naruse:r42164 2013-07-25 16:31:10 +0900

make update-rubyspec や make update-mspec で rubyspec や mspec を更新する git レポジトリを github.com/rubyspec のものから github.com/nurse のものに変更しています。 本家の mspec の機能削減や rubyspec にたびたび失敗するテストが追加されることから naruse さんが fork したリポジトリをメンテナンスしており、CI もそちらを使うようにしています。

nobu:r42165 2013-07-25 17:17:55 +0900

File.expand_path で ~user のようにユーザ指定でホームディレクトリへの展開を行なう時に、結果を格納する文字列オブジェクトの長さをセットする前に ENC_CODERANGE_CLEAR() を呼んで coderange をクリアしておくようにしています。

nobu:r42166 2013-07-25 17:21:23 +0900

r42162 に続いて encoding.c の enc_check_encoding() の再修正。 is_obj_encoding() という T_DATA 型のチェックも含むマクロを定義してそれを使うようにしています。他にも同様のチェックをしていたところもマクロで置き換えています。

naruse:r42167 2013-07-25 17:52:32 +0900

Regexp#to_s が UTF-16UTF-32 だと化けてしまう不具合を修正しています。 [ruby-core:56063] [Bug #8650]

naruse:r42168 2013-07-25 17:54:32 +0900

標準添付ライブラリ net/http で接続時にソケットオプション TCP_NODELAY をセットするようにしています。 Webサーバの高速化のための Nagle's algorithm というのがあるそうで(参考URL: https://en.wikipedia.org/wiki/Nagle's_algorithm ) TCP delayed acknowledgments と併用するとエラーになるそうなのでこれを回避するためだそうです。 [ruby-core:56158] [Feature #8681]

naruse:r42169 2013-07-25 18:33:12 +0900

r42168 の net/http の再修正。定数名に Socket:: の名前空間の指定を追加しています。 [ruby-core:56158] [Feature #8681]