ruby-trunk-changes r58493 - r58501

今日は例外のバックトレースの行番号が正しく取れないことがある不具合の修正などがありました。

eregon: r58493 2017-04-27 21:07:43 +0900

require のファイルロードが再帰している時の警告のバックトレース部分が Warning.warn のカスタマイズが効かずに標準エラー出力に出てしまう不具合の修正のやりなおしで Warning.warn を何度も呼ぶのではなくて文字列としてまとめてから一気に出力するようにしています。 [ruby-core:80850] [Bug #13505]

nobu: r58494 2017-04-27 21:30:55 +0900

common.mk の ext/ripper/ripper.c の生成のルールでソースディレクトリ以外でのビルド時に対応するように VPATH の指定を変更しています。

nobu: r58495 2017-04-28 11:05:54 +0900

sprintf.c の rb_str_format() で CHECK() マクロによる精度のサイズのチェックを PUSH() マクロの後に変更する修正。どういう条件で問題になるんだろ。

svn: r58496 2017-04-28 11:05:55 +0900

version.h の日付更新。

nobu: r58497 2017-04-28 11:10:51 +0900

sprintf.c で数値の文字列化に snprintf(3) のかわりに ultoa() を使ったり、文字列の連結に rb_str_xxx の関数群を利用するようにするリファクタリング

nobu: r58498 2017-04-28 14:08:44 +0900

r58497 で追加した ultoa() を ruby_ultoa() に改名しています。 MSVC に同名のライブラリ関数があったそうです。

nobu: r58499 2017-04-28 17:06:33 +0900

def によるメソッド定義に直接 rescue 節を書いた時にそのなかで raise した時などバックトレースの行数が正しく出ないことがある不具合の修正。 [ruby-core:79388] [Bug #13181]

nobu: r58500 2017-04-28 18:50:43 +0900

r58499 で追加した set_line_body() は RIPPER が未定義の時だけ定義するように #ifndef を移動しています。

nobu: r58501 2017-04-28 20:42:58 +0900

r58497 で不要になった(スコープが変わった) rb_str_format() の変数を削除しています。