のEmacs 24 Javaモードが正しく新しいtry-with-resource
構造をインデントしませんん。なぜ試みる-と資源Emacsでインデントを破る?」
class X{
void foo() {
try {
check(); // ((statement-block-intro 35))
}
}
void bar() {
try (Lock l = bar()) {
check(); // ((substatement 140) (statement-block-intro 140))
}
}
}
上で見たように、このようなtryブロック内のステートメントは、インデントされブレースを閉じるなどの余分なスペース4、c-basic-indent
の値、によって。
Iが同定try
とtry-with-resource
の違いの1つは、ブロック内の最初の文の構文情報であり、後者は余分を有します頭に。これが壊れる理由かもしれませんか?
最初の行から4つのスペースを手動で削除すると、行の残りの部分が正しくインデントされますが、余分なスペースでインデントされています。
これは私をナットにしています。それを解決するならば、私の変更するc-guess-basic-syntax
は自明ではないでしょうか、おそらくアドバイスを使った回避策でしょうか?
フォローアップありがとうございます。私の現在のバージョン '24.4.1'ではインデントが' emacs -q'でも正しく動作しているようです –