zh_CNとzh_TW

zh_CN と zh_TW って、zh にフォールバックしちゃいかん、という記憶があったのだけど、ちょっと怪しくもなっているので再確認。Java5 に含まれているプロパティファイルを見ると、zh.properties というファイルはやっぱりないよね。人によっても zh_CN が zh にフォールバックすると主張する人もいた気がするけど、微妙な問題だった気が(政治的な話だったけか)。というわけで、Java自体もzh.propertiesは持ってないし、はっきりさせておいた方が安全なのかね。

Locale#toString

LocaleのtoStringって、中で何しているのだろうとちょっと気になったので、SunのJava5のコードをのぞいてみた。StringBufferを使って、くっつけているのね。でも、StringBuilderの方がいいんじゃないの、とか思いつつ、まぁ、互換性も考えているのかな、とかも思ってみた。っで、ついでにHarmonyも見てみるかと思ってみてみたら、toStringはStringBuilderを使ってた。うーん、Sunの方は互換性というより、単なる昔からの使いまわしの可能性が高い気も・・・。

Harmonyをチェックアウト

今まで、Harmony のソースコードを一度も見てなかったので、チェックアウトしてみた。

$ svn co http://svn.apache.org/repos/asf/harmony/enhanced/trunk harmony-enhanced-trunk
$cd harmony-enhanced-trunk

としても、ソースコードはチェックアウトされないのね。というわけで、

$ ant populate_source
Buildfile: build.xml
...
switch_svn_vm:
[exec] svn: リビジョン引数 'switch' で構文エラーが生じました
BUILD FAILED
/home/taro/svn/harmony-enhanced-trunk/build.xml:533: exec returned: 1

と言われた・・・。何か、ありがちなエラーな気もしたので、LANG=C ant populate_source としたら、チェックアウトしはじめたみたい。それで様子をみよう。