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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 25, 2024, 05:06 UTC
Message-ID
<xmqq1q3irrgk.fsf@gitster.g>
In-Reply-To
<xmqqv80uwxn2.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 10 quoted lines
> Patrick Steinhardt <ps@pks.im> writes:
>
>> 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.
>
> It was settled to have space after and not before the hash, but I do
> not recall ever agreeing to two spaces.  I prefer to increment by 1
> for each level instead to keep the whole thing less distracting
> while carrying meaningful information.

Using the indentation consistently is a good thing I do not object to.

Among our existing header and source files (excluding compat/ that is full of borrowed sources), scanning output from

    $ git grep -e '#  *' '*.[ch]' ':!compat/'
tells me that
 - builtin/gc.c (3 lines)
 - git-compat-util.h (52 lines)
 - trace.c (2 lines)
 - wildmatch.c (6 lines)
use one space indent after '#' per level, while
 - hash.h (10 lines, inconsistently 2 uses 1 per level)
 - thread-utils.c (8 lines)
use two space indent after '#' per level.

In compat/ directory, only compat/nedmalloc uses 2-space indent. There in the hierarchy are so many files we borrowed from GNU, whose coding style sticks to one-space indent.

Previous: Junio C HamanoNext: Patrick Steinhardt
Message 4 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.