git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/3] Documentation: clarify indentation style for C preprocessor directives

From
Patrick Steinhardt <ps@pks.im>
Date
Jul 24, 2024, 11:05 UTC
Message-ID
<64e0b449936a6828ead98438d621f7e7684546c8.1721818488.git.ps@pks.im>
In-Reply-To
<cover.1721818488.git.ps@pks.im>

There has recently been some discussion around how C preprocessor directives shall be indented [1]. This discussion was settled towards indenting after the hash by two spaces [2]. Document it as such.

[1]: https://lore.kernel.org/all/xmqqwmmm1bw6.fsf@gitster.g/ [2]: https://lore.kernel.org/all/20240708092317.267915-2-karthik.188@gmail.com/

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 Documentation/CodingGuidelines | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index 1d92b2da03..1d09384f28 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -214,6 +214,16 @@ For C programs:
  - We use tabs to indent, and interpret tabs as taking up to
    8 spaces.
 
+ - Nested C preprocessor directives are indented after the hash by two
+   spaces per nesting level.
+
+	#if FOO
+	#  include <foo.h>
+	#  if BAR
+	#    include <bar.h>
+	#  endif
+	#endif
+
  - We try to keep to at most 80 characters per line.
 
  - As a Git developer we assume you have a reasonably modern compiler
-- 
2.46.0.rc1.dirty
Previous: Patrick SteinhardtNext: Junio C Hamano
Message 2 of 29 in “Documentation: some coding guideline updates”
  1. 0/3 Documentation: some coding guideline updatesPatrick Steinhardt, Jul 24, 2024
  2. 1/3 Documentation: clarify indentation style for C preprocessor directivesPatrick Steinhardt, Jul 24, 2024
  3. Junio C HamanoJul 24, 2024
  4. Junio C HamanoJul 25, 2024
  5. Patrick SteinhardtJul 30, 2024
  6. 2/3 Documentation: document naming schema for struct-related functionsPatrick Steinhardt, Jul 24, 2024
  7. Karthik NayakJul 24, 2024
  8. Patrick SteinhardtJul 24, 2024
  9. Junio C HamanoJul 24, 2024
  10. Junio C HamanoJul 24, 2024
  11. Patrick SteinhardtJul 30, 2024
  12. 3/3 Documentation: document difference between release and freePatrick Steinhardt, Jul 24, 2024
  13. Karthik NayakJul 24, 2024
  14. Patrick SteinhardtJul 24, 2024
  15. Phillip WoodJul 24, 2024
  16. Junio C HamanoJul 24, 2024
  17. Patrick SteinhardtJul 30, 2024
  18. Junio C HamanoJul 24, 2024
  19. Patrick SteinhardtJul 30, 2024
  20. Karthik NayakJul 24, 2024
  21. 0/5 Documentation: some coding guideline updatesPatrick Steinhardt, Jul 30, 2024
  22. 1/5 clang-format: fix indentation width for preprocessor directivesPatrick Steinhardt, Jul 30, 2024
  23. Karthik NayakJul 30, 2024
  24. 2/5 Documentation: clarify indentation style for C preprocessor directivesPatrick Steinhardt, Jul 30, 2024
  25. 3/5 Documentation: document naming schema for structs and their functionsPatrick Steinhardt, Jul 30, 2024
  26. 4/5 Documentation: document idiomatic function namesPatrick Steinhardt, Jul 30, 2024
  27. 5/5 Documentation: consistently use spaces inside initializersPatrick Steinhardt, Jul 30, 2024
  28. Junio C HamanoJul 30, 2024
  29. Karthik NayakJul 31, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.