bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62717: 29.0.60; c-ts-mode does not indent the first line in a functi


From: Eli Zaretskii
Subject: bug#62717: 29.0.60; c-ts-mode does not indent the first line in a function after RET
Date: Sun, 09 Apr 2023 08:19:20 +0300

> Cc: Theodor Thornhill <theo@thornhill.no>, Yuan Fu <casouri@gmail.com>,
>  62717@debbugs.gnu.org,
>  João Távora <joaotavora@gmail.com>,
>  Alan Mackenzie <acm@muc.de>
> Date: Sun, 9 Apr 2023 03:20:23 +0300
> From: Dmitry Gutov <dmitry@gutov.dev>
> 
> What does this mean for us? Short of reimplementing nvim-treesitter's 
> algorithm (and I haven't read Atom's or Zed's indentation code; 
> anybody's welcome to chime in with a summary of either), we could just 
> install the patch at the end of this message: it fixes this particular 
> case, in a bit hackish way, but at least it doesn't affect other languages.
> 
> Note that it still doesn't fix very similar cases, e.g.
> 
>    int main () {
>      for (;;) {<RET>
> 
> (we need additional rules looking for ERROR nodes, like in nvim's 
> indent.scm), but in does fix
> 
>    int main () {
>      for (;;) {}<RET>
> 
> and
> 
>    int main () {
>      int foo;<RET>
> 
> I'm not sure, though, what is the big deal with adding the top-level 
> function's closing curly first thing before writing the body (after that 
> the parser starts working much better), so as far as I'm concerned this 
> patch is very optional. It does add some complexity, after all.

If the patch solves some of the problems, passes the test suite, and
doesn't introduce any regressions you see, I think you should install
it (unless someone here objects).

Thanks.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]