Pharo 1.3にいまさらながらのバグ発見。
日本語が含まれたコードをFileOutしようとすると、「writeLeadingCharRunsOn:が無い!」というノーティファイアが起動してしまう。これは、WriteStream>>nextChunkPut:のバグで、文字列aStringがユニコード文字を含んでいるか判定した後、(実際にはTextオブジェクトである)aStringを文字列に変換せずに当該メッセージを送信するために発生する。
要は、最後の方の
aString writeLeadingCharRunsOn: self.
を
aString asString writeLeadingCharRunsOn: self.
のようにすれば解決する。
ProfStefの日本語化の見直しをしている間に判明した。以前はエラーでてなかったということは1.3で挿入されたのだろうか?
とりあえず、パッチファイルを置いておく。
http://itolab.com/software/pharo/fixFileoutIncludesUnifiedCharacter.1.cs