ruby-trunk-changes r39301 - r39321

今日は FreeBSD での SEGV 時などのバックトレースの取得の修正、C実装のメソッドからC実装のメソッドを呼ぶ時に割り込みがきかない不具合の修正などがありました。

naruse:r39301 2013-02-19 06:20:59 +0900

backtrace(3) で C レベルのバックトレースをシグナルハンドラ内で取得することができるかどうかを configure で確かめて、使えなかった時は BROKEN_BACKTRACE を定義して HAVE_BACKTRACE を無効にするようにしています。

naruse:r39302 2013-02-19 06:21:02 +0900

r38342 で FreeBSD で libexecinfo によるバックトレースの取得のために -fno-omit-frame-pointer オプションを付与するようにした workaround を revert しています。 libexecinfo の backtrace(3) はシグナルハンドラ内でそれ以前のバックトレースを取得できないので利用をやめて libunwind というライブラリの unw_backtrace() というのを使うようにしています。

svn:r39303 2013-02-19 06:21:05 +0900

version.h の日付更新。

naruse:r39304 2013-02-19 06:46:00 +0900

r39302 での条件コンパイルの条件を修正して backtrace(3) があった時でも libunwind の unw_backtrace() が使えたらそちらを利用するようにしています。(修正前も上書きしていましたが HAVE_BACKTRACE の再定義になっていた。

drbrain:r39307 2013-02-19 08:15:49 +0900

gem install にオプション --user-install を渡した時のコマンドのインストール先がユーザ毎のローカルなパスに変化しない不具合を修正しています。 [ruby-core:51832] [Bug #7779]

ko1:r39308 2013-02-19 08:53:41 +0900

C で実装されたメソッドから rb_funcall() などで C 実装のメソッドを繰り返し呼び続ける時に割り込みチェックをするタイミングがなくシグナルなどがきかなくなっていたので、vm_call0_body() で return する直前に RUBY_VM_CHECK_INTS() を呼ぶようにしています。 [ruby-dev:47032] [Bug #7878]

drbrain:r39309 2013-02-19 10:27:33 +0900

拡張ライブラリ openssl の OpenSSL::X509::ExtensionFactory の rdoc コメントのサンプルコードでの使いかたを現実のユースケースに即して修正しています。 [ruby-core:50830] [Bug #7551]

drbrain:r39310 2013-02-19 10:36:30 +0900

r39309 での openssl の rdoc のサンプルコードでメソッド呼び出しのかっこを一対省略しています。個人的には両方かっこをつけていたほうが(わざわざ行継続のバックスラッシュを書くくらいなら)いいなぁ。

zzak:r39312 2013-02-19 12:32:11 +0900

Array() メソッドの rdoc のマークアップの修正と、Array クラスの説明の部分に Array() メソッドについての言及を追加。

nobu:r39313 2013-02-19 12:49:32 +0900

r39294 の ChangeLog のエントリが重複していたので一方を削除。

nobu:r39314 2013-02-19 12:49:35 +0900

tool/mkrunnable.rb に rbconfig.rb の require を追加しています。

nobu:r39315 2013-02-19 12:49:37 +0900

tool/mkconfig.rb で config.status から rbconfig.rb を生成するときに LIBRUB_DLD??? および LIBRUBY_LD??? などの libruby をビルドするための変数を含めないようにスキップしています。

knu:r39316 2013-02-19 13:13:57 +0900

拡張ライブラリ syslog の Syslog#inspect が module_function として定義されていたのを特異メソッド(クラスメソッド)として定義するように変更しています。 Syslog.inspect の実装は self が Module(T_MODULE 型)であることを期待しているので include してインスタンスメソッドとして使うことは想定されていませんでした。 [ruby-dev:45682] [Bug #6502]

kazu:r39317 2013-02-19 13:40:40 +0900

r39242 の ChangeLog エントリの行末の空白除去と r39292 の ChangeLog エントリの typo 修正。

mrkn:r39321 2013-02-19 20:50:48 +0900

拡張ライブラリ bigdecimal は gem パッケージとして添付されていて、変更が入っているので、リリース前にバージョンを 1.1.0 から 1.2.0 に更新しています。 [ruby-core:51777] [Bug #7761]