GNU Indent가 자체 규칙을 위반하는 것처럼 보이는 작업을 수행하는 이유는 무엇입니까?

GNU Indent가 자체 규칙을 위반하는 것처럼 보이는 작업을 수행하는 이유는 무엇입니까?

나는 그것을 사용하고 있다GNU 들여쓰기일부 코드의 형식을 지정하세요. 다음과 같은 줄이 있습니다.

port->N[0].BTR.U = (DIV8(0U)    |
                    TSEG2(0x3U) |
                    TSEG1(0xEU) |
                    SJW(0x3U)   |
                    BRP(0x9U));

다음과 같은 코드로 형식화됩니다.

port->N[0].BTR.U = (DIV8(0U) | TSEG2(0x3U) | TSEG1(0xEU) | SJW(0x3U) | BRP(0x9U));

-l80문서에 따르면 내가 사용하는 옵션은 80자로 줄바꿈되어야 합니다. 여기 코드는 원래 이보다 짧았지만 포맷 후 결과 줄은 80자를 넘었습니다! 그렇다면 들여쓰기는 어떻게 자체 규칙을 위반합니까? 또한, 제가 아는 한, 이 작업을 수행하기 위한 옵션을 지정하지 않았습니다. 즉, 여러 줄의 코드를 가져와서 한 줄에 넣는 것입니다.

수정하고 싶지 않기 때문에 정말 짜증납니다. 그렇다면 이를 방지하기 위해 사용할 수 있는 명령 또는 명령 조합을 아는 사람이 있습니까?

제가 이미 사용하고 있는 옵션은 다음과 같습니다.

-ndj -nbad -bap -nbc -nbbo -hnl -bl -bli0 -bls -blf -ncdb -nce -cp1 
-ncs -di2 -nfc1 -nfca -hnl -i4 -ip0 -lp -npcs -nprs -psl -saf -sai 
-saw -nsc -nsob -cli4 -cbi0 -nut -nbs -npsl -l80 -c90 -cd90

인사!

관련 정보