case word in
pattern) # labelはインデントしない
list;; # 本体は1レベル分インデント
esac
のようにする方法をご教授下さい。
(setq-default sh-indent-for-case-label 0)
(setq-default sh-indent-for-case-alt '+)
というのを試してみたのですが、これは期待の動作にならず
case word in
pattern)
list;; # 全然インデントされない…
esac
のようになってしまいます。
ni...@ics.nara-wu.ac.jp
> case word in
> pattern) # labelはインデントしない
> list;; # 本体は1レベル分インデント
> esac
> のようにする方法をご教授下さい。
> (setq-default sh-indent-for-case-label 0)
> (setq-default sh-indent-for-case-alt '+)
> というのを試してみたのですが、これは期待の動作にならず
> case word in
> pattern)
> list;; # 全然インデントされない…
> esac
> のようになってしまいます。
Emacs 22 以下ではだめのようですね。まだ pretest 中の Emacs 23 を
使いたくなければ、23 に付属している sh-script.el を 22 で使うこ
とはできます。Emacs 21 では、ちょっといじっただけではうまくいき
ませんでした。以下の場所に 23 の sh-script.el を置いておきます。
ftp://ftp.jpl.org/pub/tmp/sh-script-23.0.94.el.gz
これを Emacs 22 で使うには、次のようにコンパイルしてください:
$ gunzip --name sh-script-23.0.94.el.gz
$ emacs -batch -eval '(defmacro characterp (form) (list (quote numberp) form))' -f batch-byte-compile sh-script.el
;; characterp は Emacs 23 から登場した built-in 関数です。
;; 関係無いですが、大昔の egg.el や wnn7egg.el を使うと、そこに
;; ある同名の関数が上書きしてしまいます。
--
山岡
In article <b4md49m...@jpl.org>, yam...@jpl.org writes:
> Emacs 22 以下ではだめのようですね。まだ pretest 中の Emacs 23 を
> 使いたくなければ、23 に付属している sh-script.el を 22 で使うこ
> とはできます。…
ありがとうございます。あいにく最近すっかり軟弱化して、OSのパッケージで
提供されているものより新しいものにはよほどのことがない限り手を出さなくなっ
てしまったので、身の回りがEmacs 21ばかりの現在ではとりあえず打つ手はなさ
そうです。Emacs 22以上に移る日を楽しみにしておきます。