Emacs 24 Tryb Java nie wciąć nowy try-with-resource
konstrukt prawidłowo.Dlaczego try-with-zasoby złamać wcięcia w Emacs?”
class X{
void foo() {
try {
check(); // ((statement-block-intro 35))
}
}
void bar() {
try (Lock l = bar()) {
check(); // ((substatement 140) (statement-block-intro 140))
}
}
}
Jak widać powyżej, oświadczenia wewnątrz takiego bloku try są wcięte przez 4 dodatkowe przestrzenie, wartości c-basic-indent
oraz zamykania klamry.
różnica pomiędzy try
i try-with-resource
że identyfikacja jest składniowym informacyjnych na pierwszej instrukcji w bloku, drugi mający dodatkowy (substatement)
na czele. Czy to może być powód, dla którego się zepsuł?
Jeśli ręcznie usuniemy 4 spacje z pierwszej linii, pozostałe wiersze będą prawidłowo wcięte, z wyjątkiem nawiasu zamykającego, który będzie wcięty dodatkowymi odstępami.
To doprowadza mnie do szału. Jeśli to rozwiązam, moja zmiana c-guess-basic-syntax
jest nietrywialna, może obejście za pomocą porady?
Dzięki za kontynuację. W mojej obecnej wersji '24.4.1' wcięcie wydaje się działać poprawnie nawet z' emacs -q' –