ruby-trunk-changes r49487 - r49498

今日は sbdm、win32ole、bigdecimal など拡張ライブラリの不具合修正、Refinements と instance_methods(false) の組み合わせでの不具合修正などがありました。

nobu: r49487 2015-02-04 10:36:54 +0900

標準添付ライブラリ mkmf.rb の r49482 のテストの再修正。 try_xxxx を失敗させるために存在しないファイル名を渡すようにしています。 [ruby-core:67962] [Bug #10821]

svn: r49488 2015-02-04 10:37:05 +0900

version.h の日付更新。

nobu: r49489 2015-02-04 11:12:45 +0900

Makefile.in で probes.o に依存しているターゲットの再実行が dtrace -G で更新される時だけ実行されるようにしています。

nobu: r49490 2015-02-04 15:55:41 +0900

拡張ライブラリ sdbm でマクロ DEBUG が定義されている時に利用されているマクロ PRIdPTRDIFF を取り込むため "ruby/ruby.h" を include するようにしています。 [ruby-core:67987]. [Bug #10825]

nobu: r49491 2015-02-04 16:32:43 +0900

拡張ライブラリ bigdecimal の assert 文の typo 修正。 ext/bigdecimal/bigdecmal.c では BIGDECIMAL_DEBUG が定義されていなかったら NDEBUG を定義して assert() は展開されないようにしていたみたいです。 [ruby-core:67980] [Bug #10823] https://github.com/ruby/ruby/pull/825

nobu: r49492 2015-02-04 16:32:58 +0900

拡張ライブラリ bigdecimal で主にデバッグのためにメッセージを生成しているところで BDIGIT のための printf の指示子を PRIuBDIGIT マクロ化するようにしています。

shugo: r49493 2015-02-04 16:45:29 +0900

r42903 のあたりの再修正かと思いますが Refinements でメソッドを再定義したクラスの親クラスが同名のメソッドを定義していた場合に instance_methods などで引数に false を指定して親クラスのメソッドは除外する時にその指定が Refinements で再定義されていると効かなくなっていたのを修正しています。 [ruby-dev:48854] [Bug #10826]

nobu: r49494 2015-02-04 17:35:08 +0900

拡張ライブラリ sdbm の delpair() というキーの削除の関数で memmove() に渡すポインタがずれていたのを修正しています。 DUFF というマクロが定義されているとここは使われませんが、定義しているところがなさそうなのでずっと壊れてたってことですかね。あんまり使われてなさそう…。

suke: r49495 2015-02-04 20:30:37 +0900

拡張ライブラリ win32ole で enc2cp_table を解放するのに atexit(3) への関数の登録を利用していましたが(!!) やめています。オブジェクトにくるんで GC (というか ObjectSpace)の解放にまかせるようにしているようです。 Cygwin でのエラー回避のためとのことです。

marcandre: r49496 2015-02-05 01:24:16 +0900

doc/security.rdoc の Symbol についての記述をバージョンによる差異について明記したり、具体的にユーザによる入力を渡すのを避けたほうがいいメソッドを記述したりと追記しています。

svn: r49497 2015-02-05 01:24:29 +0900

version.h の日付更新。

marcandre: r49498 2015-02-05 01:41:38 +0900

doc/security.rboc の追加修正。