try-with-resource
Emacs 24 Java モードは、新しい構造を適切にインデントしません。
class X{
void foo() {
try {
check(); // ((statement-block-intro 35))
}
}
void bar() {
try (Lock l = bar()) {
check(); // ((substatement 140) (statement-block-intro 140))
}
}
}
上記のように、そのような try ブロック内のステートメントは、右中c-basic-indent
括弧を含めて、追加の 4 つのスペース ( の値) によってインデントされます。
try
私が特定したとの違いの 1 つは、ブロック内の最初のステートメントの構文情報であり、後者は先頭try-with-resource
に余分なものがあります。(substatement)
これが壊れる原因になるのでしょうか?
最初の行から 4 つのスペースを手動で削除すると、余分なスペースで引き続きインデントされている右中かっこを除いて、残りの行は正しくインデントされます。
これは私を夢中にさせています。それを解決する場合、私の変更c-guess-basic-syntax
は自明ではありません。おそらくアドバイスを使用した回避策ですか?