🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.emacs
Article #633

Re: Indentation of case statement in sh-script mode

#633
From: Katsumi Yamaoka
Date: Tue, 02 Jun 2009 23:29
39 lines
2428 bytes
>>>>> 新出さん wrote:
>   どなたか、sh-scriptモードでcase文を

> 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 を使うと、そこに
;; ある同名の関数が上書きしてしまいます。
-- 
山岡
Technical Details
Message-ID: <b4md49mrz8q.fsf@jpl.org>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
References: <090602223445.M0108190@yamane.ics.nara-wu.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Thread: 567d189bfd,6e6b5b4de96d2c93
X-Google-Attributes: gid567d189bfd,public,usenet
X-Google-NewGroupId: yes
X-Google-Language: Japanese,JIS
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Katsumi Yamaoka <yamaoka@jpl.org>
Newsgroups: fj.editor.emacs
Subject: Re: Indentation of case statement in sh-script mode
Date: Wed, 03 Jun 2009 08:29:25 +0900
Organization: Emacsen advocacy group
Lines: 39
Message-ID: <b4md49mrz8q.fsf@jpl.org>
References: <090602223445.M0108190@yamane.ics.nara-wu.ac.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
X-Trace: individual.net eIj0mdgz8YBi+e2bfV3lEg1CLzPdm5vW6ydaTLCftZS2UuORQ=
Cancel-Lock: sha1:7ewqDW4TMxgIdmcf0MIl//Yw3HA= sha1:mAjse0LtgzonE+cnjwa8ykBjqGo=
X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk
 B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw=
 L&i*6&(
User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.94 (gnu/linux)