ruby-trunk-changes r49314 - r49326

今日は win32ole の不具合修正、Refinement と Module#public_method_defined? 等のメソッドでの不具合修正などがありました。

nobu: r49314 2015-01-18 11:22:50 +0900

tool/vcs.rb の VCS::SVN#export で svn export のかわりにチェックアウト済みの working copy があったらそこの .svn/ を利用してソースディクトリを生成しているようです。 .svn/* をコピー(正確には symblic link) して svn revert -R で復元とは裏技チックですね。

suke: r49315 2015-01-18 11:53:18 +0900

拡張ライブラリ win32ole でメモリの二重解放による SEGV が発生する不具合を修正しています。 [ruby-dev:48803] [Bug #10697]

svn: r49316 2015-01-18 11:53:31 +0900

r49315 の ChangeLog エントリの行末の空白除去。

nobu: r49317 2015-01-18 12:56:52 +0900

newline.c という自動生成されるソースコードをソースディレクトリではなく enc/trans サブディレクトリ内に生成するように変更しています。

nobu: r49318 2015-01-18 14:24:14 +0900

r49314 の追加修正。 wcroot が取得できていなかった時に svn revert による svn export の代替をあきらめるようにしています。

nobu: r49319 2015-01-18 14:25:04 +0900

tool/vcs.rb の VCS::SVN#wcroot で取得に失敗した時のデバッグメッセージを追加しています。 r49318 の変更からして、なぜか wcroot が取れなかったのでしょうきっと。

nobu: r49320 2015-01-18 15:50:24 +0900

r49319 の続き。 VCS::SVN#wcroot で svn info で wcroot が取得できなかった時に .svn/ ディレクトリがあるところまで親ディレクトリを辿るようにしています。 古い svn では取得できなかったみたいです。

nobu: r49321 2015-01-18 15:50:41 +0900

vm_dump.c でプロセスのメモリマップを取得するために sysctl(2) の MIB_KERN_PROC_PID_LEN を使っていたところで #if __FreeBSD__ を使って分岐していましたが、古い FreeBSD 8.4 だとこの機能がなくてビルドに失敗していたので、configure で検出した HAVE_LIBPROCSTAT を参照して分岐するようにしています。 [ruby-core:67655] [Bug #10752]

nobu: r49322 2015-01-18 15:57:34 +0900

Module#{public,private,protected}_method_defined? でメソッドの存在チェックをする check_definition() で Refinements による method entry は Module#refine のブロック外では無視するように修正しています。 やっぱりこのパターンまだありましたね。 [ruby-core:67656] [Bug #10753]

nobu: r49324 2015-01-18 17:47:15 +0900

r44684 で README(.ja) ファイルは README(.ja).md に改名されたので .document ファイルでの指定も追随するようにしています。 [ruby-core:59167] [Bug #9255]

hsbt: r49325 2015-01-18 18:32:26 +0900

r49220 で Math.atan2 の rdoc 用ドキュメントを平易な説明に修正していたのですが、元からあった arc tangent という説明も復活させています。

nobu: r49326 2015-01-18 22:12:15 +0900

ソースディレクトリとは別のビルドディレクトリでビルドした時に、enc/trans ディレクトリを生成しておくようにしています。