From: Vibhav Pant <vibhavp@gmail.com>
Date: Tue, 15 Nov 2022 14:36:56 +0000 (+0530)
Subject: ; .clang-format: Support macros in comp.c, align operands correctly.
X-Git-Tag: emacs-29.0.90~1616^2~155
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7d5cf08de946f5486ba9db16b28d2367307dcbf9;p=emacs.git

; .clang-format: Support macros in comp.c, align operands correctly.

* .clang-format (WhitespaceSensitiveMacros): Add comp.c macros that
stringify arguments, telling clang-format to not format them.
(AlignOperands): Set to Align, to make clang-format correctly align
multi-line expressions involving binary and ternary expressions.
(ForEachMacros): Add FOR_EACH_ALIST_VALUE.
---

diff --git a/.clang-format b/.clang-format
index 464375bd418..2208240a669 100644
--- a/.clang-format
+++ b/.clang-format
@@ -1,15 +1,18 @@
 Language: Cpp
 BasedOnStyle: GNU
 AlignEscapedNewlinesLeft: true
+AlignOperands: Align
 AlwaysBreakAfterReturnType: TopLevelDefinitions
 BreakBeforeBinaryOperators: All
 BreakBeforeBraces: GNU
 ColumnLimit: 70
 ContinuationIndentWidth: 2
-ForEachMacros: [FOR_EACH_TAIL,
-                FOR_EACH_TAIL_SAFE,
-                FOR_EACH_LIVE_BUFFER,
-                ITREE_FOREACH]
+ForEachMacros:
+  - FOR_EACH_TAIL
+  - FOR_EACH_TAIL_SAFE
+  - FOR_EACH_LIVE_BUFFER
+  - ITREE_FOREACH
+  - FOR_EACH_ALIST_VALUE
 IncludeCategories:
   - Regex: '^<config\.h>$'
     Priority: -1
@@ -19,6 +22,11 @@ IncludeCategories:
     Priority: 2
   - Regex: '.*'
     Priority: 3
+WhitespaceSensitiveMacros:
+  - STR
+  - CALL1I
+  - CALL2I
+  - STR_VALUE
 KeepEmptyLinesAtTheStartOfBlocks: false
 MaxEmptyLinesToKeep: 1
 PenaltyBreakBeforeFirstCallParameter: 2000