ひろせといいます

Linux で自分でソースからコンパイルした Emacs 21.3 を X で使っています。

付属の sh-mode (sh-script.el) で X と非 X とで case 文のインデントが違
うのですが、そろえる方法はないのでしょうかという質問です。

例えば

case "$1" in
foo)
bar
baz
;;
esac

をインデントした場合、
emacs で X な emacs だと

case "$1" in
<TAB>foo)
<TAB><TAB>bar
<TAB><TAB>baz
<TAB><TAB>;;
esac

となるのですが、
emacs -nw で kterm の中の emacs だと

case "$1" in
<TAB>foo)
<TAB>bar
<TAB>baz
<TAB>;;
esac

となってしまいます。
# 個人的には前者にそろえたい。

-nw ありでもなしでも sh-indent-for-case-alt の値は ++ なのですが、bar 
のところで sh-show-indent すると X なときは「sh-indent-for-case-alt is
++」なのですが、非 X だと「line has default indentation」とミニバッファ
に表示されます。

余計なものを読まないように emacs -q でやってみても同様の結果でした。
また、6/20 ぐらいに CVS からもってきた 21.3.50 でも同様でした。
# どちらも sh-script.el のバージョンは 2.0f

                                  //

X と非 X とでインデントが違うのは気持悪いのでそろえたいのですが、何か
アドバイスないでしょうか?

もしくは他のおすすめの shell script 支援モードないでしょうか?
# ちょっと前までは ksh-mode.el というのを使っていました。

ではでは

-- 
ひろせ