gpt4 book ai didi

java - 为什么 try-with-resources 会破坏 Emacs 中的缩进?”

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:37 25 4
gpt4 key购买 nike

Emacs 24 Java 模式未正确缩进新的 try-with-resource 结构。

class X{
void foo() {
try {
check(); // ((statement-block-intro 35))
}
}

void bar() {
try (Lock l = bar()) {
check(); // ((substatement 140) (statement-block-intro 140))
}
}
}

如上所示,这样的 try block 内的语句额外缩进 4 个空格,c-basic-indent 的值,包括右大括号。

我确定的 trytry-with-resource 之间的一个区别是 block 中第一条语句的句法信息,后者有一个额外的 (substatement) 在头部。这可能是它破裂的原因吗?

如果我从第一行中手动删除 4 个空格,那么其余行将正确缩进,除了右大括号,它继续以额外的空格缩进。

这让我抓狂。如果解决它我改变 c-guess-basic-syntax 是不平凡的,也许是使用建议的解决方法?

最佳答案

这是 emacs 中众所周知的错误,并且在 list.gnu.org 上有关于此问题的修补程序线程,它修复了此错误:https://lists.gnu.org/archive/html/bug-gnu-emacs/2013-07/msg00577.html

此外,根据这个:http://osdir.com/ml/emacs-diffs-gnu/2013-07/msg00350.html看来,这个错误已经在 2013 年 7 月 27 日修复了。

关于java - 为什么 try-with-resources 会破坏 Emacs 中的缩进?”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16554232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com