今日はほぼ IO まわりの例外メッセージや警告メッセージで文字列埋め込みに PRIsVALUE を利用するようにする変更だけでした。
nobu: r47302 2014-08-28 14:55:05 +0900
IO.new にブロックを渡した時の警告メッセージ(IO.new は open と違ってブロックを呼び出さないので、誤って渡したのを気づかせるための警告が出る)に埋め込むクラス名を PRIsVALUE を使うことでエンコーディングを保持するようにしています。
nobu: r47303 2014-08-28 14:55:08 +0900
IO#advice で発生させる例外のメッセージでも埋め込みに PRIsVALUE を利用して VALUE 型のまま埋め込みするようにしています。
svn: r47304 2014-08-28 14:55:20 +0900
version.h の日付更新。
nobu: r47305 2014-08-28 14:55:22 +0900
IO.open などのエンコーディングのオプション解析で、指定が(external_encoding/internal_encoding と encoding オプションで)重複した時の警告メッセージに埋め込む文字列を %s ではなくて PRIsVALUE で埋め込むことでエンコーディングを保持するようにしています。
nobu: r47306 2014-08-28 15:18:30 +0900
ARGF のファイル切り替え時の警告メッセージでも PRIsVALUE を使ってファイル名を埋め込むことでエンコーディングを保持するようにしています。
nobu: r47307 2014-08-28 17:27:53 +0900
r47305 で追加したテストで open がブロックなしで呼ばれていたため file descriptor が leak していたのでブロックを渡して閉じるように修正しています。