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

[PATCH v3 4/4] config.txt: describe handling of whitespace further

From
DSDragan Simic <dsimic@manjaro.org>
Date
Mar 18, 2024, 22:24 UTC
Message-ID
<e389acbfacd5046a926b87346d41f9c7962e3c23.1710800549.git.dsimic@manjaro.org>
In-Reply-To
<cover.1710800549.git.dsimic@manjaro.org>

Make it more clear what the whitespace characters are in the context of git configuration files, and improve the description of the trailing whitespace handling a bit, especially how it works out together with the presence of inline comments.

Signed-off-by: Dragan Simic <dsimic@manjaro.org>
---
Notes:
    Changes in v3:
        - Patch description was expanded a bit, to make it more on point
        - No changes to the documentation were introduced
    
    Changes in v2:
        - No changes were introduced
 Documentation/config.txt | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 782c2bab906c..20f3300dc706 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -22,9 +22,10 @@ multivalued.
 Syntax
 ~~~~~~
 
-The syntax is fairly flexible and permissive; whitespaces are mostly
-ignored.  The '#' and ';' characters begin comments to the end of line,
-blank lines are ignored.
+The syntax is fairly flexible and permissive.  Whitespace characters,
+which in this context are the space character (SP) and the horizontal
+tabulation (HT), are mostly ignored.  The '#' and ';' characters begin
+comments to the end of line.  Blank lines are ignored.
 
 The file consists of sections and variables.  A section begins with
 the name of the section in square brackets and continues until the next
@@ -64,12 +65,14 @@ The variable names are case-insensitive, allow only alphanumeric characters
 and `-`, and must start with an alphabetic character.
 
 A line that defines a value can be continued to the next line by
-ending it with a `\`; the backslash and the end-of-line are
-stripped.  Leading whitespaces after 'name =', the remainder of the
+ending it with a `\`; the backslash and the end-of-line are stripped.
+Leading whitespace characters after 'name =', the remainder of the
 line after the first comment character '#' or ';', and trailing
-whitespaces of the line are discarded unless they are enclosed in
-double quotes.  Internal whitespaces within the value are retained
-verbatim.
+whitespace characters of the line are discarded unless they are enclosed
+in double quotes.  The discarding of the trailing whitespace characters
+applies regardless of the discarding of the portion of the line after
+the first comment character.  Internal whitespace characters within the
+value are retained verbatim.
 
 Inside double quotes, double quote `"` and backslash `\` characters
 must be escaped: use `\"` for `"` and `\\` for `\`.
Previous: Dragan SimicNext: Junio C Hamano
Message 12 of 16 in “Fix a bug in configuration parsing, and improve tests and documentation”
  1. 0/4 Fix a bug in configuration parsing, and improve tests and documentationDragan Simic, Mar 18, 2024
  2. 1/4 config: minor addition of whitespaceDragan Simic, Mar 18, 2024
  3. Junio C HamanoMar 20, 2024
  4. Dragan SimicMar 20, 2024
  5. 2/4 config: really keep value-internal whitespace verbatimDragan Simic, Mar 18, 2024
  6. 3/4 t1300: add more tests for whitespace and inline commentsDragan Simic, Mar 18, 2024
  7. Junio C HamanoMar 20, 2024
  8. Dragan SimicMar 20, 2024
  9. Dragan SimicMar 20, 2024
  10. Junio C HamanoMar 20, 2024
  11. Dragan SimicMar 20, 2024
  12. 4/4 config.txt: describe handling of whitespace furtherDragan Simic, Mar 18, 2024
  13. Junio C HamanoMar 20, 2024
  14. Dragan SimicMar 20, 2024
  15. Junio C HamanoMar 20, 2024
  16. Dragan SimicMar 20, 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.