Win用SBCLとcygwinの文字化け問題

Win用SBCLをcygwin上のmintty(ターミナル)で使うと日本語が文字化けします。

Win用SBCLはsb-impl::*default-external-format*とsb-alien::*default-c-string-external-format*がcp932に設定されているので、utf8で設定されているcygwinで文字化けするのは当然といえば当然!
という事で上記の大域変数をutf8にしたんですが・・・文字化けは直らず・・・う~ん・・・

まっ「コッチが合わせてくれないならソッチを合わせる」って事でcygwinのターミナルから

LANG=ja_JP.SJIS mintty

SJISにしたターミナル(mintty)を呼び出して、そこでSBCLを立ち上げたら文字化けは直りました。

なんでこんな事で苦労しているかというと、cygwin上にインストールしたrlwrap(rlwrapに関してはrlwrapでSBCLを快適に - プログラムの事とか)をSBCLと一緒に使いたかったんです。

スマートな解決法ではありませんが、これにてひとまず解決・・・かな

という事で.bashrcに以下のエイリアスを設定。

alias sbcll='LANG=ja_JP.SJIS mintty -e rlwrap sbcl'

これではsbcl用のウィンドウを開く事になりますが、現代のPCでGUIのOSを使っているんですから、僕は抵抗ありません!
(現在はこの設定にCommon Lispと辞書用にオプションを幾つか加えています。
詳しくはrlwrapの補完を使う - プログラムの事とか