日本語を含んだコードをFileOutできない

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