Article View: fj.editor.emacs
Article #633Re: Indentation of case statement in sh-script mode
From: Katsumi Yamaoka
Date: Tue, 02 Jun 2009 23:29
Date: Tue, 02 Jun 2009 23:29
39 lines
2428 bytes
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-mailReferences:
<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)