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文字を超えました!それでは、インデントはどのように独自の規則に違反しますか?また、私が知っている限り、これを行うためのオプションを指定しませんでした。つまり、複数行のコードを取得して1行に入れることです。

修正したくないので本当に迷惑です。それでは、これを防ぐために使用できるコマンドまたはコマンドの組み合わせを知っている人はいますか?

私がすでに使っているオプションは次のとおりです。

-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

あいさつ!

関連情報