C++ emacs意外gt/lt行为

C++ emacs意外gt/lt行为,c++,emacs,indentation,C++,Emacs,Indentation,我对c中的emacs缩进有问题++ if (a.x < b || a.x > c) { lll = 1; } if(a.xc){ lll=1; } 缩进为 if (a.x < b || a.x > c) { lll = 1; } if(a.xc){ lll=1; } 显然,它将其视为模板参数。如果a不是一个结构,比如(x20)按预期工作,那么它就不会发生 这是一件小事,但很烦人。我的emacs版本是23。我尝试将此代码粘

我对c中的emacs缩进有问题++

if (a.x < b ||
    a.x > c) {
    lll = 1;
}
if(a.xc){
lll=1;
}
缩进为

if (a.x < b ||
          a.x > c) {
    lll = 1;
}
if(a.xc){
lll=1;
}
显然,它将其视为模板参数。如果a不是一个结构,比如(x<10 | | x>20)按预期工作,那么它就不会发生


这是一件小事,但很烦人。我的emacs版本是23。

我尝试将此代码粘贴到emacs 25中,它似乎缩进正确。@Legocia谢谢我验证了它。不幸的是,仅仅为了解决这个问题而安装不同版本的是不可行的。我会接受它,除非我可以应用一些lisp调整。你可以尝试将cc-mode.el的最新版本放到你安装的emacs/lisp/progmodes目录中(当然,先备份原始版本)。@user888379。它成功了。我已经安装了cc模式的来源,它解决了这个问题。谢谢。我试着将这段代码粘贴到Emacs 25中,它似乎缩进正确。@Legocia谢谢我验证了它。不幸的是,仅仅为了解决这个问题而安装不同版本的是不可行的。我会接受它,除非我可以应用一些lisp调整。你可以尝试将cc-mode.el的最新版本放到你安装的emacs/lisp/progmodes目录中(当然,先备份原始版本)。@user888379。它成功了。我已经安装了cc模式的来源,它解决了这个问题。非常感谢。