こんにちは、なかむら(う)です。

In message "[ruby-dev:33071] Re: [ruby-cvs:22244] Ruby:r15007 (trunk): * enc/make_encdb.rb: added. search enc/*.c and make encoding database."
    on Jan.13,2008 02:14:48, <naruse / airemix.com> wrote:
| Shift_JIS と EUC-JP のビルトイン廃止は軽い気持ちで入れたら思ったよりも影
| 響範囲が大きかったのでとりあえず戻します。直し次第またあらためて。

何日か見てなかったので状況を追いきれていませんが、この「影響
範囲」の問題が解決してShift_JISとEUC-JPがビルトインじゃなくな
った状態、という理解でいいでしょうか。


さて、現状、rubyはlocale charmapを見て、現在のlocaleにあった
encodingをdefault_externalに設定します。
で、それがビルトインじゃなかったら必要なencodingをロードしま
す。
ところが、minirubyの場合、なんかつい最近のメールにもたまたま
書きましたが、プラットフォームによっては拡張ライブラリをロー
ドできません。
というわけで、特定のプラットフォーム+非ビルトインなencoding
を指すlocaleの場合、minirubyが実行できません。

前からそうだったけど誰もこの問題に気付いてなかったわけですが、
Shift_JISがビルトインから外れたおかげで、めでたく日本語Windows
でこの問題が顕在化しました。
Windows以外なら、minirubyを実行するときはLANG=Cにするとかいう
Makefileのhackで逃げられますが、Windowsだとそういう外的な逃げ
は通用しません。

というわけで、どうしましょう?
私の考えでは、minirubyの場合はlocale見るのをやめちゃうのがい
いのではないかと思ったのですが、中田さんに相談したら乗り気じ
ゃなさそうです。


それでは。
-- 
U.Nakamura <usa / garbagecollect.jp>