tir. 7. feb. 2023 kl. 03:30 skrev Yuan Fu <casouri@gmail.com>:

Knut Anders Hatlen <kahatlen@gmail.com> writes:

> Hi,
>
> I'm still seeing odd indentation for conditions without braces. For
> example, invoking c-ts-mode-indent-defun (C-c C-q) with the point inside
> this function ...
>
> int f(int x) {
> if (x > 1)
> return x;
> else
> return x + 1;
> }
>
> ... results in the following indentation with the default GNU style:
>
> int f(int x) {
>   if (x > 1)
> return x;
>   else
> return x + 1;
> }
>
> I would have expected this:
>
> int f(int x) {
>   if (x > 1)
>     return x;
>   else
>     return x + 1;
> }
>
> Is something more needed for this bug, or is the problem I'm seeing a
> different bug?

My bad, I made some changes and didn’t push them, and I’m sitting here
wondering why everyone is seeing problems... Everything should indent
fine now.

Yuan

Thanks, Yuan!

It now seems to work fine with the GNU style, K&R style and Linux style. With BSD style, however, it ends up like this:

int f(int x) {
  if (x > 1)
  return x;
  else
  return x + 1;
}

I assume the return statements should have been indented one more level here too?

Best regards,

--
Knut Anders