ruby-trunk-changes r52866 - r52872

今日は sprintf で Rational を埋め込んだ時の不具合修正などがありました。

nobu: r52866 2015-12-03 11:57:14 +0900

Thread#name= で利用するための関数(pthread_setname_np() や pthread_set_name_np() およびこれらの引数の数の違い)を #if で分岐して書いていたのを、configure でその差異を検出して SET_ANOTHER_THREAD_NAME() というマクロを定義することで分岐せずに書くようにしています。

svn: r52867 2015-12-03 11:57:34 +0900

version.h の日付更新。

nobu: r52868 2015-12-03 14:22:18 +0900

Range#to_s で taint された Range オブジェクトから作った文字列も taint されているように修正しています。 OBJ_INFECT() で参照すべきオブジェクトがまちがっていたようです。 [ruby-core:71811] [Bug #11767]

nobu: r52869 2015-12-03 15:33:13 +0900

Kernel#sprintf や STring#% で Rational を %f 指示子でフォーマットする時に幅の指定があるとそれをうまく処理できずに不正な文字列を作ってしまう不具合を修正しています。 こんなのが残っていたとは… [ruby-core:71806] [Bug #11766]

hsbt: r52870 2015-12-03 15:38:01 +0900

テストのコメントやメッセージの typo 修正。 https://github.com/ruby/ruby/pull/1122

hsbt: r52871 2015-12-03 15:39:26 +0900

標準添付ライブラリ scanf の rdoc 用コメントの typo 修正。 https://github.com/ruby/ruby/pull/1123

nobu: r52872 2015-12-03 16:02:19 +0900

オブジェクトを to_s で文字列化した時に fstring がかえってきた場合は OBJ_INFECT() で taint フラグを伝播させないようにしています。 taint が必要な場合は fstring がかえってこないはず(fstring になってるってことはスクリプトコンパイル時に決まる文字列のはず)ってことでしょうか。