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

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

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Mar 21, 2024, 05:11 UTC
Message-ID
<CAPig+cSYhYBa0NsvJCOYo4JsWzLJT9rU++U1QKA3jRB6Cptbhw@mail.gmail.com>
In-Reply-To
<f84c5e8e4a90be3f9fe3cc853e0d40aed4e58826.1710994548.git.dsimic@manjaro.org>
On Thu, Mar 21, 2024 at 12:17 AM Dragan Simic <dsimic@manjaro.org> wrote:
Show 18 quoted lines
> Make it more clear what the whitespace characters are in the context of git
> configuration files, and significantly improve the description of the leading
> and trailing whitespace handling, especially how it works out together with
> the presence of inline comments.
>
> Helped-by: Junio C Hamano <gitster@pobox.com>
> Signed-off-by: Dragan Simic <dsimic@manjaro.org>
> ---
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> @@ -63,13 +64,15 @@ the variable is the boolean "true").
>  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 whitespace characters before 'name =' are discarded.
> +The portion of the line after the first comment character, including
> +the comment character itself, is discarded.  Unless enclosed in double
> +quotation marks (`"`), any leading or trailing whitespace characters
> +surrounding 'value' are discarded.  Internal whitespace characters
> +within 'value' are retained verbatim.
I find this statement confusing and ambiguous:
    Unless enclosed in double quotation marks (`"`), any leading or
    trailing whitespace characters surrounding 'value' are discarded.

since it might imply that the shown <SP> and <TAB> whitespace is retained outside the quotes, as well:

    key =<SP><TAB>" string "<SP>

It should be possible to rephrase it to be more definite, while dropping the final sentence altogether. Perhaps:

    Whitespace surrounding `name`, `=` and `value` is ignored. If
    `value` is surrounding by double quotation marks (`"`), all
    characters within the quoted string are retained verbatim,
    including whitespace. Comments starting with either `#` or `;` and
    extending to the end of line are discarded. 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.
Previous: Dragan SimicNext: Dragan Simic
Message 8 of 14 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 21, 2024
  2. 1/4 config: minor addition of whitespaceDragan Simic, Mar 21, 2024
  3. 2/4 config: really keep value-internal whitespace verbatimDragan Simic, Mar 21, 2024
  4. 3/4 t1300: add more tests for whitespace and inline commentsDragan Simic, Mar 21, 2024
  5. Eric SunshineMar 21, 2024
  6. Dragan SimicMar 21, 2024
  7. 4/4 config.txt: describe handling of whitespace furtherDragan Simic, Mar 21, 2024
  8. Eric SunshineMar 21, 2024
  9. Dragan SimicMar 21, 2024
  10. Eric SunshineMar 21, 2024
  11. Dragan SimicMar 21, 2024
  12. Junio C HamanoMar 21, 2024
  13. Eric SunshineMar 21, 2024
  14. Dragan SimicMar 21, 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.