ruby-trunk-changes r40894 - r40901

今日は loaded_features を検索する処理の潜在的な不具合(?)の修正があったくらいで、あまり大きな変更はありませんでした。

nobu:r40894 2013-05-23 11:14:07 +0900

r40888 で対応した Windows 版での read/write 時のファイルポインタ操作のエラー判定についてのテストに write 時のテストも追加しています。 write 時に修正されていないっていうのは r40888 だけでなくてその直前のリファクタリングの r40887 も必要ということだったようです。 [ruby-core:55098] [Bug #8431]

svn:r40895 2013-05-23 11:14:12 +0900

version.h の日付更新。

nobu:r40896 2013-05-23 12:00:52 +0900

r40888 および r40894 で追加したテストを mswin と mingw の環境(Windows 環境)でのみ実行するようにしています。ファイルシステムが HFS+ だとファイルポインタだけ移動して中に空洞のあるファイルを作れないんだそうです。えーそうなのか……

zzak:r40897 2013-05-23 13:09:42 +0900

r40839 の lib/forwardable.rb の rdoc 用コメントの追記を revert しています。 コミットログに "for demo" とあるので、おそらく後で戻すつもりだと思います。まだ戻ってないですけど……

nobu:r40898 2013-05-23 16:58:06 +0900

GC::Profiler.report で最後のレコードを出力しないようにカウンタをデクリメントしています、がこれはすぐに revert されています。

nobu:r40899 2013-05-23 17:22:05 +0900

r40898 を revert しています。最後のレコードというのは lazy_sweep() 中のレコードらしいのですが、それが見えてもいいだろうということみたいです。

nobu:r40900 2013-05-23 17:35:34 +0900

require 済みのファイルを管理する loaded_feature_path() で name に "/" が含まれていない時(name と feature が同じ文字列だった時)にバッファの先頭の1byte前の位置を読んでしまっていたのを修正しています。 name は普通 $LOAD_PATH に含まれるパスが付加されたフルパスになるような気がするので、そういうケースがあるのかどうかわかりませんけど。
[追記]なかださんに教えていただきました。 feature がフルパスの時に該当するそうです。 autoload 経由の時にそうなるそうです。 require にフルパスを渡した時もそうですねきっと。[/追記]

akr:r40901 2013-05-23 22:49:10 +0900

拡張ライブラリ dbm の extconf.rb に --with-dbm-type オプションとその引数に指定できる文字列についてコメントを追記しています。