[xyzzy:06640] C++ モードでのインデント
- Subject: [xyzzy:06640] C++ モードでのインデント
- From: "M.Fujimura" <m_fujimura@xxxxxxxxxxxxxx>
- X-mailer: Becky! ver. 2.00.03
はじめまして、藤村と申します。
C++モードのインデントについて質問が有ります。
.xyzzyの記述(抜粋)
; C/C++モード設定
; ハードタブ
(setq *c-indent-tabs-mode* t)
(setq *c++-indent-tabs-mode* t)
(setq *c-comment-column* 52)
(setq *c++-comment-column* 52)
(setq *c-tab-always-indent* nil)
(setq c-indent-level 4)
(setq c-continue-statement-offset 4)
(setq c-brace-offset -2)
(setq c-brace-imaginary-offset 0)
(setq c-argdecl-indent 4)
(setq c-label-offset -4)
(setq *c++-tab-always-indent* nil)
(setq c++-indent-level 4)
(setq c++-continue-statement-offset 4)
(setq c++-brace-offset -2)
(setq c++-brace-imaginary-offset 0)
(setq c++-argdecl-indent 4)
(setq c++-label-offset -4)
という設定をしているのですが、実際のコードにおいて期待通りのインデントで
はなくなるケースがあります。
void classname::func()
{
typedef struct st{
char hoge;
}XXX;
XXX hoge;
// comment
if(TRUE)
{
// comment
}
// comment <-2桁左になって欲しい
hoge; <-2桁左になって欲しい
hoge;
if(FALSE)
{
}
// comment <-2桁左になって欲しい
hoge; <-2桁左になって欲しい
hoge;
}
上記の現象は、関数(func)内でstruct定義を行うかどうか(typedef 〜 }XXX;が有るかどうか)
で期待通りになったりならなかったりが別れるようです。
どのように設定すれば良いでしょうか?
どなたかご存知の方、よろしくお願いします。
--------------------------------------------------
Masahiro Fujimura