From: Eric Sunshine Date: Thu, 21 Mar 2024 05:11:26 GMT Subject: Re: [PATCH v4 4/4] config.txt: describe handling of whitespace further Message-ID: In-Reply-To: On Thu, Mar 21, 2024 at 12:17 AM Dragan Simic wrote: > 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 > Signed-off-by: Dragan Simic > --- > 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 and whitespace is retained outside the quotes, as well: key =" string " 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.