{"thread":{"id":"65787","subject":"[PATCH 3/3] doc: git-config: escape erroneous adoc markup","startedAt":"2026-06-10T18:52:10Z","lastAt":"2026-06-12T15:05:57Z","messageCount":30,"participants":["Tuomas Ahola","Junio C Hamano","Kristoffer Haugsbakk","Jeff King","Jean-Noël AVILA"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"545181","messageId":"20260610185148.23920-3-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610185148.23920-1-taahol@utu.fi","subject":"[PATCH 2/3] doc: config/sideband: fix typo in adoc markup","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T18:51:47Z","receivedAt":"2026-06-10T18:52:09Z","isPatch":true,"body":"Fix a simple typo in AsciiDoc markup.\n\nSigned-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n Documentation/config/sideband.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc\nindex 96fade7f5f..06de0d5c07 100644\n--- a/Documentation/config/sideband.adoc\n+++ b/Documentation/config/sideband.adoc\n@@ -9,7 +9,7 @@ sideband.allowControlCharacters::\n \t`color`::\n \t\tAllow ANSI color sequences, line feeds and horizontal tabs,\n \t\tbut mask all other control characters. This is the default.\n-\t`cursor:`:\n+\t`cursor`::\n \t\tAllow control sequences that move the cursor. This is\n \t\tdisabled by default.\n \t`erase`::\n-- \n2.30.2\n\n"},{"id":"545180","messageId":"20260610185148.23920-4-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610185148.23920-1-taahol@utu.fi","subject":"[PATCH 3/3] doc: git-config: escape erroneous adoc markup","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T18:51:48Z","receivedAt":"2026-06-10T18:52:10Z","isPatch":true,"body":"Paired octothorpes are used in AsciiDoc to mark highlighted text,\n<mark> being the equivalent HTML tag.  To use the symbol as a literal\ncharacter, it can be escaped with a backslash.\n\nDo so in git-config.adoc.\n\nWhile at it, tweak the text slightly to make it scan better.\n\nSigned-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n Documentation/git-config.adoc | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\nindex 8439ce97df..708e88cdeb 100644\n--- a/Documentation/git-config.adoc\n+++ b/Documentation/git-config.adoc\n@@ -119,10 +119,10 @@ OPTIONS\n \tAppend a comment at the end of new or modified lines.\n +\n If _<message>_ begins with one or more whitespaces followed\n-by \"#\", it is used as-is.  If it begins with \"#\", a space is\n+by \"\\#\", it is used as-is.  If it begins with \"#\", a space is\n prepended before it is used.  Otherwise, a string \" # \" (a\n space followed by a hash followed by a space) is prepended\n-to it.  And the resulting string is placed immediately after\n+to it.  The resulting string is placed immediately after\n the value defined for the variable.  The _<message>_ must\n not contain linefeed characters (no multi-line comments are\n permitted).\n-- \n2.30.2\n\n"},{"id":"545182","messageId":"20260610185148.23920-1-taahol@utu.fi","threadId":"65787","inReplyTo":null,"subject":"[PATCH 0/3] doc: config: fix AsciiDoc glitches","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T18:51:45Z","receivedAt":"2026-06-10T18:52:12Z","isPatch":true,"body":"Fix various markup shortcomings in git-config(1).\n\nBased on 29bd7ed512 (The second batch, 2026-05-12).\n\nTuomas Ahola (3):\n  doc: config: terminate runaway lists\n  doc: config/sideband: fix typo in adoc markup\n  doc: git-config: escape erroneous adoc markup\n\n Documentation/config.adoc          | 4 +++-\n Documentation/config/promisor.adoc | 2 ++\n Documentation/config/safe.adoc     | 2 ++\n Documentation/config/sideband.adoc | 2 +-\n Documentation/git-config.adoc      | 6 ++++--\n 5 files changed, 12 insertions(+), 4 deletions(-)\n\n\nbase-commit: 29bd7ed5127255713c1ac2f43b7c6f257d7b4594\n-- \n2.30.2\n\n"},{"id":"545183","messageId":"20260610185148.23920-2-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610185148.23920-1-taahol@utu.fi","subject":"[PATCH 1/3] doc: config: terminate runaway lists","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T18:51:46Z","receivedAt":"2026-06-10T18:52:14Z","isPatch":true,"body":"There are many places in git-config(1) where paragraphs that should\nlogically come after a list are instead appended to the last item of\nthe list.  This is a well-documented quirk of AsciiDoc, and can be\nmitigated by enclosing the list in an open block:\n\n\t--\n\t* first item\n\t* last item\n\t--\n\t+\n\tNew paragraph after the list.\n\nFix the issue accordingly.\n\nSigned-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n Documentation/config.adoc          | 4 +++-\n Documentation/config/promisor.adoc | 2 ++\n Documentation/config/safe.adoc     | 2 ++\n Documentation/git-config.adoc      | 2 ++\n 4 files changed, 9 insertions(+), 1 deletion(-)\n\ndiff --git a/Documentation/config.adoc b/Documentation/config.adoc\nindex dcea3c0c15..fc48c1c461 100644\n--- a/Documentation/config.adoc\n+++ b/Documentation/config.adoc\n@@ -276,13 +276,15 @@ boolean::\n        When a variable is said to take a boolean value, many\n        synonyms are accepted for 'true' and 'false'; these are all\n        case-insensitive.\n-\n++\n+--\n \ttrue;; Boolean true literals are `yes`, `on`, `true`,\n \t\tand `1`.  Also, a variable defined without `= <value>`\n \t\tis taken as true.\n \n \tfalse;; Boolean false literals are `no`, `off`, `false`,\n \t\t`0` and the empty string.\n+--\n +\n When converting a value to its canonical form using the `--type=bool` type\n specifier, 'git config' will ensure that the output is \"true\" or\ndiff --git a/Documentation/config/promisor.adoc b/Documentation/config/promisor.adoc\nindex b0fa43b839..39af63dcb8 100644\n--- a/Documentation/config/promisor.adoc\n+++ b/Documentation/config/promisor.adoc\n@@ -63,11 +63,13 @@ If one of these field names (e.g., \"token\") is being checked for an\n advertised promisor remote (e.g., \"foo\"), three conditions must be met\n for the check of this specific field to pass:\n +\n+--\n 1. The corresponding local configuration (e.g., `remote.foo.token`)\n    must be set.\n 2. The server must advertise the \"token\" field for remote \"foo\".\n 3. The value of the locally configured `remote.foo.token` must exactly\n    match the value advertised by the server for the \"token\" field.\n+--\n +\n If any of these conditions is not met for any field name listed in\n `promisor.checkFields`, the advertised remote \"foo\" is rejected.\ndiff --git a/Documentation/config/safe.adoc b/Documentation/config/safe.adoc\nindex 2d45c98b12..5ae4476b24 100644\n--- a/Documentation/config/safe.adoc\n+++ b/Documentation/config/safe.adoc\n@@ -2,10 +2,12 @@ safe.bareRepository::\n \tSpecifies which bare repositories Git will work with. The currently\n \tsupported values are:\n +\n+--\n * `all`: Git works with all bare repositories. This is the default.\n * `explicit`: Git only works with bare repositories specified via\n   the top-level `--git-dir` command-line option, or the `GIT_DIR`\n   environment variable (see linkgit:git[1]).\n+--\n +\n If you do not use bare repositories in your workflow, then it may be\n beneficial to set `safe.bareRepository` to `explicit` in your global\ndiff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\nindex 00545b2054..8439ce97df 100644\n--- a/Documentation/git-config.adoc\n+++ b/Documentation/git-config.adoc\n@@ -221,6 +221,7 @@ Use `--no-value` to unset _<pattern>_.\n +\n Valid `<type>`'s include:\n +\n+--\n - 'bool': canonicalize values `true`, `yes`, `on`, and positive\n   numbers as \"true\", and values `false`, `no`, `off` and `0` as\n   \"false\".\n@@ -239,6 +240,7 @@ Valid `<type>`'s include:\n   escape sequence. When setting a value, a sanity-check is performed to ensure\n   that the given value is canonicalize-able as an ANSI color, but it is written\n   as-is.\n+--\n +\n If the command is in `list` mode, then the `--type <type>` argument will apply\n to each listed config value. If the value does not successfully parse in that\n-- \n2.30.2\n\n"},{"id":"545186","messageId":"xmqqecieuqdm.fsf@gitster.g","threadId":"65787","inReplyTo":"20260610185148.23920-4-taahol@utu.fi","subject":"Re: [PATCH 3/3] doc: git-config: escape erroneous adoc markup","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2026-06-10T19:50:13Z","receivedAt":"2026-06-10T19:50:15Z","isPatch":true,"body":"Tuomas Ahola <taahol@utu.fi> writes:\n\n> Paired octothorpes are used in AsciiDoc to mark highlighted text,\n> <mark> being the equivalent HTML tag.  To use the symbol as a literal\n> character, it can be escaped with a backslash.\n>\n> Do so in git-config.adoc.\n>\n> While at it, tweak the text slightly to make it scan better.\n>\n> Signed-off-by: Tuomas Ahola <taahol@utu.fi>\n> ---\n>  Documentation/git-config.adoc | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n\nThanks.  \n\nWhat we see in\nhttps://git-scm.com/docs/git-config#Documentation/git-config.txt---commentmessage\nis rather embarrasing.  This would be a vast improvement ;-)\n\n> diff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\n> index 8439ce97df..708e88cdeb 100644\n> --- a/Documentation/git-config.adoc\n> +++ b/Documentation/git-config.adoc\n> @@ -119,10 +119,10 @@ OPTIONS\n>  \tAppend a comment at the end of new or modified lines.\n>  +\n>  If _<message>_ begins with one or more whitespaces followed\n> -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n> +by \"\\#\", it is used as-is.  If it begins with \"#\", a space is\n>  prepended before it is used.  Otherwise, a string \" # \" (a\n>  space followed by a hash followed by a space) is prepended\n> -to it.  And the resulting string is placed immediately after\n> +to it.  The resulting string is placed immediately after\n>  the value defined for the variable.  The _<message>_ must\n>  not contain linefeed characters (no multi-line comments are\n>  permitted).\n"},{"id":"545187","messageId":"xmqqa4t2upl1.fsf@gitster.g","threadId":"65787","inReplyTo":"xmqqecieuqdm.fsf@gitster.g","subject":"Re: [PATCH 3/3] doc: git-config: escape erroneous adoc markup","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2026-06-10T20:07:22Z","receivedAt":"2026-06-10T20:07:25Z","isPatch":true,"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Thanks.  \n>\n> What we see in\n> https://git-scm.com/docs/git-config#Documentation/git-config.txt---commentmessage\n> is rather embarrasing.  This would be a vast improvement ;-)\n>\n>> diff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\n>> index 8439ce97df..708e88cdeb 100644\n>> --- a/Documentation/git-config.adoc\n>> +++ b/Documentation/git-config.adoc\n>> @@ -119,10 +119,10 @@ OPTIONS\n>>  \tAppend a comment at the end of new or modified lines.\n>>  +\n>>  If _<message>_ begins with one or more whitespaces followed\n>> -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n>> +by \"\\#\", it is used as-is.  If it begins with \"#\", a space is\n>>  prepended before it is used.  Otherwise, a string \" # \" (a\n\nWith this change, I wonder if this '#' on the next line gets paired\nas the closing element that corresponds to the second one on the\nprevious line, which is not quoted hence can be taken as the opening\nelement?  Even if the one on the second line does not get taken as a\nclosing element now, if a future change adds some word with '#' that\ndoes, the second \"#\" on the line left unquoted by this patch would\nthen require quoting, no?  IOW, would it be better to do this\n\n>> -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n>> +by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n\nso that we do not have to worry about \"special cases\" where it\nbecomes unnecessary to quote \"#\"s?\n\n\n>>  space followed by a hash followed by a space) is prepended\n>> -to it.  And the resulting string is placed immediately after\n>> +to it.  The resulting string is placed immediately after\n>>  the value defined for the variable.  The _<message>_ must\n>>  not contain linefeed characters (no multi-line comments are\n>>  permitted).\n"},{"id":"545188","messageId":"0ddf1907-66fa-4cc4-84b5-b873e0e60939@app.fastmail.com","threadId":"65787","inReplyTo":"20260610185148.23920-3-taahol@utu.fi","subject":"Re: [PATCH 2/3] doc: config/sideband: fix typo in adoc markup","fromName":"Kristoffer Haugsbakk","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-06-10T20:13:08Z","receivedAt":"2026-06-10T20:13:30Z","isPatch":true,"body":"> doc: config/sideband: fix typo in adoc markup\n\nYou might be able to be more precise while using the same amount of\nwords or less. Like:\n\n   _: fix description list delimiter\n\nOn Wed, Jun 10, 2026, at 20:51, Tuomas Ahola wrote:\n> Fix a simple typo in AsciiDoc markup.\n\nThe subject of the commit might be enough here.\n\n>\n> Signed-off-by: Tuomas Ahola <taahol@utu.fi>\n> ---\n>  Documentation/config/sideband.adoc | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>[snip]\n> @@ -9,7 +9,7 @@ sideband.allowControlCharacters::\n>  \t`color`::\n>  \t\tAllow ANSI color sequences, line feeds and horizontal tabs,\n>  \t\tbut mask all other control characters. This is the default.\n> -\t`cursor:`:\n> +\t`cursor`::\n\nNice find!\n\n>  \t\tAllow control sequences that move the cursor. This is\n>  \t\tdisabled by default.\n>  \t`erase`::\n> --\n> 2.30.2\n"},{"id":"545218","messageId":"20260610225513.6269-2-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610225513.6269-1-taahol@utu.fi","subject":"[PATCH v2 1/3] doc: config: terminate runaway lists","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T22:55:11Z","receivedAt":"2026-06-10T22:55:25Z","isPatch":true,"body":"There are many places in git-config(1) where paragraphs that should\nlogically come after a list are instead appended to the last item of\nthe list.  This is a well-documented quirk of AsciiDoc, and can be\nmitigated by enclosing the list in an open block:\n\n\t--\n\t* first item\n\t* last item\n\t--\n\t+\n\tNew paragraph after the list.\n\nFix the issue accordingly.\n\nSigned-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n Documentation/config.adoc          | 4 +++-\n Documentation/config/promisor.adoc | 2 ++\n Documentation/config/safe.adoc     | 2 ++\n Documentation/git-config.adoc      | 2 ++\n 4 files changed, 9 insertions(+), 1 deletion(-)\n\ndiff --git a/Documentation/config.adoc b/Documentation/config.adoc\nindex dcea3c0c15..fc48c1c461 100644\n--- a/Documentation/config.adoc\n+++ b/Documentation/config.adoc\n@@ -276,13 +276,15 @@ boolean::\n        When a variable is said to take a boolean value, many\n        synonyms are accepted for 'true' and 'false'; these are all\n        case-insensitive.\n-\n++\n+--\n \ttrue;; Boolean true literals are `yes`, `on`, `true`,\n \t\tand `1`.  Also, a variable defined without `= <value>`\n \t\tis taken as true.\n \n \tfalse;; Boolean false literals are `no`, `off`, `false`,\n \t\t`0` and the empty string.\n+--\n +\n When converting a value to its canonical form using the `--type=bool` type\n specifier, 'git config' will ensure that the output is \"true\" or\ndiff --git a/Documentation/config/promisor.adoc b/Documentation/config/promisor.adoc\nindex b0fa43b839..39af63dcb8 100644\n--- a/Documentation/config/promisor.adoc\n+++ b/Documentation/config/promisor.adoc\n@@ -63,11 +63,13 @@ If one of these field names (e.g., \"token\") is being checked for an\n advertised promisor remote (e.g., \"foo\"), three conditions must be met\n for the check of this specific field to pass:\n +\n+--\n 1. The corresponding local configuration (e.g., `remote.foo.token`)\n    must be set.\n 2. The server must advertise the \"token\" field for remote \"foo\".\n 3. The value of the locally configured `remote.foo.token` must exactly\n    match the value advertised by the server for the \"token\" field.\n+--\n +\n If any of these conditions is not met for any field name listed in\n `promisor.checkFields`, the advertised remote \"foo\" is rejected.\ndiff --git a/Documentation/config/safe.adoc b/Documentation/config/safe.adoc\nindex 2d45c98b12..5ae4476b24 100644\n--- a/Documentation/config/safe.adoc\n+++ b/Documentation/config/safe.adoc\n@@ -2,10 +2,12 @@ safe.bareRepository::\n \tSpecifies which bare repositories Git will work with. The currently\n \tsupported values are:\n +\n+--\n * `all`: Git works with all bare repositories. This is the default.\n * `explicit`: Git only works with bare repositories specified via\n   the top-level `--git-dir` command-line option, or the `GIT_DIR`\n   environment variable (see linkgit:git[1]).\n+--\n +\n If you do not use bare repositories in your workflow, then it may be\n beneficial to set `safe.bareRepository` to `explicit` in your global\ndiff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\nindex 00545b2054..8439ce97df 100644\n--- a/Documentation/git-config.adoc\n+++ b/Documentation/git-config.adoc\n@@ -221,6 +221,7 @@ Use `--no-value` to unset _<pattern>_.\n +\n Valid `<type>`'s include:\n +\n+--\n - 'bool': canonicalize values `true`, `yes`, `on`, and positive\n   numbers as \"true\", and values `false`, `no`, `off` and `0` as\n   \"false\".\n@@ -239,6 +240,7 @@ Valid `<type>`'s include:\n   escape sequence. When setting a value, a sanity-check is performed to ensure\n   that the given value is canonicalize-able as an ANSI color, but it is written\n   as-is.\n+--\n +\n If the command is in `list` mode, then the `--type <type>` argument will apply\n to each listed config value. If the value does not successfully parse in that\n-- \n2.30.2\n\n"},{"id":"545219","messageId":"20260610225513.6269-3-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610225513.6269-1-taahol@utu.fi","subject":"[PATCH v2 2/3] doc: config/sideband: fix description list delimiter","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T22:55:12Z","receivedAt":"2026-06-10T22:55:25Z","isPatch":true,"body":"Signed-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n Documentation/config/sideband.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc\nindex 96fade7f5f..06de0d5c07 100644\n--- a/Documentation/config/sideband.adoc\n+++ b/Documentation/config/sideband.adoc\n@@ -9,7 +9,7 @@ sideband.allowControlCharacters::\n \t`color`::\n \t\tAllow ANSI color sequences, line feeds and horizontal tabs,\n \t\tbut mask all other control characters. This is the default.\n-\t`cursor:`:\n+\t`cursor`::\n \t\tAllow control sequences that move the cursor. This is\n \t\tdisabled by default.\n \t`erase`::\n-- \n2.30.2\n\n"},{"id":"545220","messageId":"20260610225513.6269-4-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610225513.6269-1-taahol@utu.fi","subject":"[PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T22:55:13Z","receivedAt":"2026-06-10T22:55:25Z","isPatch":true,"body":"Paired octothorpes are used in AsciiDoc to mark highlighted text,\n<mark> being the equivalent HTML tag.  To use the symbol as a literal\ncharacter, it can be escaped with a backslash.\n\nDo so in git-config.adoc.\n\nWhile at it, tweak the text slightly to make it scan better.\n\nSigned-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n Documentation/git-config.adoc | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\nindex 8439ce97df..e4af6cac68 100644\n--- a/Documentation/git-config.adoc\n+++ b/Documentation/git-config.adoc\n@@ -119,10 +119,10 @@ OPTIONS\n \tAppend a comment at the end of new or modified lines.\n +\n If _<message>_ begins with one or more whitespaces followed\n-by \"#\", it is used as-is.  If it begins with \"#\", a space is\n+by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n prepended before it is used.  Otherwise, a string \" # \" (a\n space followed by a hash followed by a space) is prepended\n-to it.  And the resulting string is placed immediately after\n+to it.  The resulting string is placed immediately after\n the value defined for the variable.  The _<message>_ must\n not contain linefeed characters (no multi-line comments are\n permitted).\n-- \n2.30.2\n\n"},{"id":"545221","messageId":"20260610225513.6269-1-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610185148.23920-1-taahol@utu.fi","subject":"[PATCH v2 0/3] doc: config: fix AsciiDoc glitches","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-10T22:55:10Z","receivedAt":"2026-06-10T22:55:26Z","isPatch":true,"body":"Fix various markup shortcomings in git-config(1).\n\nBased on 29bd7ed512 (The second batch, 2026-05-12).\n\nTuomas Ahola (3):\n  doc: config: terminate runaway lists\n  doc: config/sideband: fix description list delimiter\n  doc: git-config: escape erroneous highlight markup\n\n Documentation/config.adoc          | 4 +++-\n Documentation/config/promisor.adoc | 2 ++\n Documentation/config/safe.adoc     | 2 ++\n Documentation/config/sideband.adoc | 2 +-\n Documentation/git-config.adoc      | 6 ++++--\n 5 files changed, 12 insertions(+), 4 deletions(-)\n\nIntervall-diff mot v1:\n1:  224303c555 = 1:  c9131b23fd doc: config: terminate runaway lists\n2:  a7e6b82c97 ! 2:  ca65211ea4 doc: config/sideband: fix typo in adoc markup\n    @@ Metadata\n     Author: Tuomas Ahola <taahol@utu.fi>\n     \n      ## Commit message ##\n    -    doc: config/sideband: fix typo in adoc markup\n    -\n    -    Fix a simple typo in AsciiDoc markup.\n    +    doc: config/sideband: fix description list delimiter\n     \n         Signed-off-by: Tuomas Ahola <taahol@utu.fi>\n     \n3:  7d0916a874 ! 3:  0341a4bde9 doc: git-config: escape erroneous adoc markup\n    @@ Metadata\n     Author: Tuomas Ahola <taahol@utu.fi>\n     \n      ## Commit message ##\n    -    doc: git-config: escape erroneous adoc markup\n    +    doc: git-config: escape erroneous highlight markup\n     \n         Paired octothorpes are used in AsciiDoc to mark highlighted text,\n         <mark> being the equivalent HTML tag.  To use the symbol as a literal\n    @@ Documentation/git-config.adoc: OPTIONS\n      +\n      If _<message>_ begins with one or more whitespaces followed\n     -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n    -+by \"\\#\", it is used as-is.  If it begins with \"#\", a space is\n    ++by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n      prepended before it is used.  Otherwise, a string \" # \" (a\n      space followed by a hash followed by a space) is prepended\n     -to it.  And the resulting string is placed immediately after\n\nbase-commit: 29bd7ed5127255713c1ac2f43b7c6f257d7b4594\n-- \n2.30.2\n\n"},{"id":"545227","messageId":"20260611060226.GB2187173@coredump.intra.peff.net","threadId":"65787","inReplyTo":"20260610225513.6269-2-taahol@utu.fi","subject":"Re: [PATCH v2 1/3] doc: config: terminate runaway lists","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-11T06:02:26Z","receivedAt":"2026-06-11T06:02:28Z","isPatch":true,"body":"On Thu, Jun 11, 2026 at 01:55:11AM +0300, Tuomas Ahola wrote:\n\n> There are many places in git-config(1) where paragraphs that should\n> logically come after a list are instead appended to the last item of\n> the list.  This is a well-documented quirk of AsciiDoc, and can be\n> mitigated by enclosing the list in an open block:\n> \n> \t--\n> \t* first item\n> \t* last item\n> \t--\n> \t+\n> \tNew paragraph after the list.\n> \n> Fix the issue accordingly.\n\nMakes sense. We've run into problems in the past where adding \"--\"\ndoesn't quite work, because we are already inside a \"--\" (and IIRC the\nbehavior is not always completely predictable). But I double-checked\nthese cases, and we are not already in a \"--\". So we should be good\nhere.\n\n-Peff\n"},{"id":"545228","messageId":"20260611061156.GC2187173@coredump.intra.peff.net","threadId":"65787","inReplyTo":"20260610225513.6269-4-taahol@utu.fi","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-11T06:11:56Z","receivedAt":"2026-06-11T06:11:58Z","isPatch":true,"body":"On Thu, Jun 11, 2026 at 01:55:13AM +0300, Tuomas Ahola wrote:\n\n> Paired octothorpes are used in AsciiDoc to mark highlighted text,\n> <mark> being the equivalent HTML tag.  To use the symbol as a literal\n> character, it can be escaped with a backslash.\n> \n> Do so in git-config.adoc.\n\nI think this works OK, but in general I think most uses of backslash for\nmetacharacters should consider using literal backticks. That shields it\nfrom the special meaning for asciidoc, but also will render it\ndifferently for the user (usually with a typewriter font, which becomes\nbold in roff output).\n\nThough curiously the case of `#` in git-fast-import seems not to get\nmarked as <code> in the html output (even though the nearby `LF` does).\nI wonder if there is some special treatment of `#` or something.\n\n>  If _<message>_ begins with one or more whitespaces followed\n> -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n> +by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n>  prepended before it is used.  Otherwise, a string \" # \" (a\n>  space followed by a hash followed by a space) is prepended\n\nI saw the comment on round 1 about this second \"#\" on the line. But\nwhile we are here, should we be doing the one in the context, too?\n\n-Peff\n"},{"id":"545230","messageId":"20260611062423.GA2189088@coredump.intra.peff.net","threadId":"65787","inReplyTo":"20260611061156.GC2187173@coredump.intra.peff.net","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-11T06:24:23Z","receivedAt":"2026-06-11T06:24:24Z","isPatch":true,"body":"On Thu, Jun 11, 2026 at 02:11:57AM -0400, Jeff King wrote:\n\n> Though curiously the case of `#` in git-fast-import seems not to get\n> marked as <code> in the html output (even though the nearby `LF` does).\n> I wonder if there is some special treatment of `#` or something.\n\nAh, weird, it has to do with our config file.\n\nIf I do this (not in the git repository):\n\n  echo 'This is a literal `#` symbol.' >foo.adoc\n  asciidoc foo.adoc\n  grep -i symbol foo.html\n\nthen I get <code> markers, like:\n\n  <div class=\"paragraph\"><p>This is a literal <code>#</code> symbol.</p></div>\n\nBut if I build with:\n\n  asciidoc -f path/to/git/Documentation/asciidoc.conf foo.adoc\n\nthen the grep shows:\n\n  <div class=\"paragraph\"><p>This is a literal # symbol.</p></div>\n\nLooks like it is due to our [literal-inlinemacro] definition, which\ncomes from 974cdca345 (doc: introduce a synopsis typesetting,\n2024-09-24). I think this might have been an unintended side effect.\n+cc the author of that commit.\n\nFor the purposes of your series, I think we can ignore any issues with\n[literal-inlinemacro] for the moment, and decide on \"\\\" versus ``\ndepending on which we prefer.\n\n-Peff\n"},{"id":"545231","messageId":"20260611062525.GB2189088@coredump.intra.peff.net","threadId":"65787","inReplyTo":"20260611062423.GA2189088@coredump.intra.peff.net","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-11T06:25:25Z","receivedAt":"2026-06-11T06:25:27Z","isPatch":true,"body":"[and naturally I forgot to cc Jean-Noël; resending, sorry for the noise]\n\nOn Thu, Jun 11, 2026 at 02:24:23AM -0400, Jeff King wrote:\n\n> On Thu, Jun 11, 2026 at 02:11:57AM -0400, Jeff King wrote:\n> \n> > Though curiously the case of `#` in git-fast-import seems not to get\n> > marked as <code> in the html output (even though the nearby `LF` does).\n> > I wonder if there is some special treatment of `#` or something.\n> \n> Ah, weird, it has to do with our config file.\n> \n> If I do this (not in the git repository):\n> \n>   echo 'This is a literal `#` symbol.' >foo.adoc\n>   asciidoc foo.adoc\n>   grep -i symbol foo.html\n> \n> then I get <code> markers, like:\n> \n>   <div class=\"paragraph\"><p>This is a literal <code>#</code> symbol.</p></div>\n> \n> But if I build with:\n> \n>   asciidoc -f path/to/git/Documentation/asciidoc.conf foo.adoc\n> \n> then the grep shows:\n> \n>   <div class=\"paragraph\"><p>This is a literal # symbol.</p></div>\n> \n> Looks like it is due to our [literal-inlinemacro] definition, which\n> comes from 974cdca345 (doc: introduce a synopsis typesetting,\n> 2024-09-24). I think this might have been an unintended side effect.\n> +cc the author of that commit.\n> \n> For the purposes of your series, I think we can ignore any issues with\n> [literal-inlinemacro] for the moment, and decide on \"\\\" versus ``\n> depending on which we prefer.\n> \n> -Peff\n"},{"id":"545249","messageId":"20260611080242.lqXwi%taahol@utu.fi","threadId":"65787","inReplyTo":"20260611061156.GC2187173@coredump.intra.peff.net","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-11T08:02:42Z","receivedAt":"2026-06-11T08:02:56Z","isPatch":true,"body":"Jeff King <peff@peff.net> wrote:\n\n> On Thu, Jun 11, 2026 at 01:55:13AM +0300, Tuomas Ahola wrote:\n> \n> > Paired octothorpes are used in AsciiDoc to mark highlighted text,\n> > <mark> being the equivalent HTML tag.  To use the symbol as a literal\n> > character, it can be escaped with a backslash.\n> > \n> > Do so in git-config.adoc.\n> \n> I think this works OK, but in general I think most uses of backslash for\n> metacharacters should consider using literal backticks. That shields it\n> from the special meaning for asciidoc, but also will render it\n> differently for the user (usually with a typewriter font, which becomes\n> bold in roff output).\n> \n> Though curiously the case of `#` in git-fast-import seems not to get\n> marked as <code> in the html output (even though the nearby `LF` does).\n> I wonder if there is some special treatment of `#` or something.\n> \n> >  If _<message>_ begins with one or more whitespaces followed\n> > -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n> > +by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n> >  prepended before it is used.  Otherwise, a string \" # \" (a\n> >  space followed by a hash followed by a space) is prepended\n> \n> I saw the comment on round 1 about this second \"#\" on the line. But\n> while we are here, should we be doing the one in the context, too?\n> \n> -Peff\n\nIt seems adding that second backslash was already too much, as doc-diff (which\nI neglected to run before submitting V2) shows:\n\n```\n$ ./doc-diff V1 V2\n \n            If <message> begins with one or more whitespaces followed by \"#\",\n-           it is used as-is. If it begins with \"#\", a space is prepended\n+           it is used as-is. If it begins with \"\\#\", a space is prepended\n            before it is used. Otherwise, a string \" # \" (a space followed by a\n            hash followed by a space) is prepended to it. The resulting string\n            is placed immediately after the value defined for the variable. The\n```\n\n--Tuomas\n"},{"id":"545253","messageId":"20260611083139.GA2237523@coredump.intra.peff.net","threadId":"65787","inReplyTo":"20260611080242.lqXwi%taahol@utu.fi","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-11T08:31:39Z","receivedAt":"2026-06-11T08:31:40Z","isPatch":true,"body":"On Thu, Jun 11, 2026 at 11:02:42AM +0300, Tuomas Ahola wrote:\n\n> > >  If _<message>_ begins with one or more whitespaces followed\n> > > -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n> > > +by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n> > >  prepended before it is used.  Otherwise, a string \" # \" (a\n> > >  space followed by a hash followed by a space) is prepended\n> > \n> > I saw the comment on round 1 about this second \"#\" on the line. But\n> > while we are here, should we be doing the one in the context, too?\n> > \n> > -Peff\n> \n> It seems adding that second backslash was already too much, as doc-diff (which\n> I neglected to run before submitting V2) shows:\n> \n> ```\n> $ ./doc-diff V1 V2\n>  \n>             If <message> begins with one or more whitespaces followed by \"#\",\n> -           it is used as-is. If it begins with \"#\", a space is prepended\n> +           it is used as-is. If it begins with \"\\#\", a space is prepended\n>             before it is used. Otherwise, a string \" # \" (a space followed by a\n>             hash followed by a space) is prepended to it. The resulting string\n>             is placed immediately after the value defined for the variable. The\n> ```\n\nHeh, it would not be the first time I am baffled by asciidoc's parsing. :)\n\nAdding a backslash to the third instance \"fixes\" the second one to me,\nbut I wouldn't want to rely on that (plus it breaks the third instance).\n\nUsing backticks does work, though it always opens a typographical\nquestion. When reading the source, you see `#`, so you get a punctuation\ndelimiter but no typographical one. In the rendered output, you'll see\nit in a typewriter font (assuming we fix the config issue), but we'd\nlose the visible punctuation. I could live with that.\n\nBut for \" # \", it gets weirder. We need punctuation to call out the\nspaces, but what should happen to the quotes? They are not really part\nof the literal string, so should they go inside or outside the\nbackticks? I think it may be a moot point as \"` # `\" is not parsed as\nyou might hope by asciidoc. Doing `\" # \"` does work, and is probably OK\nenough here.\n\n-Peff\n"},{"id":"545281","messageId":"20260611132830.FZ0Ks%taahol@utu.fi","threadId":"65787","inReplyTo":"20260611083139.GA2237523@coredump.intra.peff.net","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-11T13:28:30Z","receivedAt":"2026-06-11T13:28:43Z","isPatch":true,"body":"Jeff King <peff@peff.net> wrote:\n\n> On Thu, Jun 11, 2026 at 11:02:42AM +0300, Tuomas Ahola wrote:\n> \n> > > >  If _<message>_ begins with one or more whitespaces followed\n> > > > -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n> > > > +by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n> > > >  prepended before it is used.  Otherwise, a string \" # \" (a\n> > > >  space followed by a hash followed by a space) is prepended\n> > > \n> > > I saw the comment on round 1 about this second \"#\" on the line. But\n> > > while we are here, should we be doing the one in the context, too?\n> > > \n> > > -Peff\n> > \n> > It seems adding that second backslash was already too much, as doc-diff (which\n> > I neglected to run before submitting V2) shows:\n> > \n> > ```\n> > $ ./doc-diff V1 V2\n> >  \n> >             If <message> begins with one or more whitespaces followed by \"#\",\n> > -           it is used as-is. If it begins with \"#\", a space is prepended\n> > +           it is used as-is. If it begins with \"\\#\", a space is prepended\n> >             before it is used. Otherwise, a string \" # \" (a space followed by a\n> >             hash followed by a space) is prepended to it. The resulting string\n> >             is placed immediately after the value defined for the variable. The\n> > ```\n> \n> Heh, it would not be the first time I am baffled by asciidoc's parsing. :)\n> \n> Adding a backslash to the third instance \"fixes\" the second one to me,\n> but I wouldn't want to rely on that (plus it breaks the third instance).\n> \n> Using backticks does work, though it always opens a typographical\n> question. When reading the source, you see `#`, so you get a punctuation\n> delimiter but no typographical one. In the rendered output, you'll see\n> it in a typewriter font (assuming we fix the config issue), but we'd\n> lose the visible punctuation. I could live with that.\n> \n> But for \" # \", it gets weirder. We need punctuation to call out the\n> spaces, but what should happen to the quotes? They are not really part\n> of the literal string, so should they go inside or outside the\n> backticks? I think it may be a moot point as \"` # `\" is not parsed as\n> you might hope by asciidoc. Doing `\" # \"` does work, and is probably OK\n> enough here.\n> \n> -Peff\n\nOkay, I'll change those to `#` and `\" # \"`.  That seems to be the best,\nor the least bad option right now. :-)\n\n--Tuomas\n"},{"id":"545296","messageId":"20260611161946.12166-4-taahol@utu.fi","threadId":"65787","inReplyTo":"20260611161946.12166-1-taahol@utu.fi","subject":"[PATCH v3 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-11T16:19:46Z","receivedAt":"2026-06-11T16:20:15Z","isPatch":true,"body":"Paired octothorpes are used in AsciiDoc to mark highlighted text,\n<mark> being the equivalent HTML tag.  To use the symbol as a literal\ncharacter, it can be escaped with backticks.\n\nDo so in git-config.adoc.\n\nWhile at it, tweak the text slightly to make it scan better.\n\nSigned-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n\nNotes (doc-diff):\n    diff --git a/ca65211ea4c351071c5e76dabe4700ad074b75d3/home/taahol/share/man/man1/git-config.1 b/e2d0cc8218242cc859daabb179af07ebf96fe459/home/taahol/share/man/man1/git-config.1\n    index e0e2bf3c36..1e9e49b197 100644\n    --- a/ca65211ea4c351071c5e76dabe4700ad074b75d3/home/taahol/share/man/man1/git-config.1\n    +++ b/e2d0cc8218242cc859daabb179af07ebf96fe459/home/taahol/share/man/man1/git-config.1\n    @@ -113,11 +113,11 @@ OPTIONS\n            --comment <message>\n                Append a comment at the end of new or modified lines.\n    \n    -           If <message> begins with one or more whitespaces followed by \"\", it\n    -           is used as-is. If it begins with \"\", a space is prepended before it\n    +           If <message> begins with one or more whitespaces followed by #, it\n    +           is used as-is. If it begins with #, a space is prepended before it\n                is used. Otherwise, a string \" # \" (a space followed by a hash\n    -           followed by a space) is prepended to it. And the resulting string\n    -           is placed immediately after the value defined for the variable. The\n    +           followed by a space) is prepended to it. The resulting string is\n    +           placed immediately after the value defined for the variable. The\n                <message> must not contain linefeed characters (no multi-line\n                comments are permitted).\n\n Documentation/git-config.adoc | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\nindex 8439ce97df..57af010ade 100644\n--- a/Documentation/git-config.adoc\n+++ b/Documentation/git-config.adoc\n@@ -119,10 +119,10 @@ OPTIONS\n \tAppend a comment at the end of new or modified lines.\n +\n If _<message>_ begins with one or more whitespaces followed\n-by \"#\", it is used as-is.  If it begins with \"#\", a space is\n-prepended before it is used.  Otherwise, a string \" # \" (a\n+by `#`, it is used as-is.  If it begins with `#`, a space is\n+prepended before it is used.  Otherwise, a string `\" # \"` (a\n space followed by a hash followed by a space) is prepended\n-to it.  And the resulting string is placed immediately after\n+to it.  The resulting string is placed immediately after\n the value defined for the variable.  The _<message>_ must\n not contain linefeed characters (no multi-line comments are\n permitted).\n-- \n2.30.2\n\n"},{"id":"545297","messageId":"20260611161946.12166-2-taahol@utu.fi","threadId":"65787","inReplyTo":"20260611161946.12166-1-taahol@utu.fi","subject":"[PATCH v3 1/3] doc: config: terminate runaway lists","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-11T16:19:44Z","receivedAt":"2026-06-11T16:20:16Z","isPatch":true,"body":"There are many places in git-config(1) where paragraphs that should\nlogically come after a list are instead appended to the last item of\nthe list.  This is a well-documented quirk of AsciiDoc, and can be\nmitigated by enclosing the list in an open block:\n\n\t--\n\t* first item\n\t* last item\n\t--\n\t+\n\tNew paragraph after the list.\n\nFix the issue accordingly.\n\nSigned-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n\nNotes (doc-diff):\n    diff --git a/29bd7ed5127255713c1ac2f43b7c6f257d7b4594/home/taahol/share/man/man1/git-config.1 b/c9131b23fd1c8611fde5664fcfd4e6d5283648ad/home/taahol/share/man/man1/git-config.1\n    index 326782e637..d915897ca5 100644\n    --- a/29bd7ed5127255713c1ac2f43b7c6f257d7b4594/home/taahol/share/man/man1/git-config.1\n    +++ b/c9131b23fd1c8611fde5664fcfd4e6d5283648ad/home/taahol/share/man/man1/git-config.1\n    @@ -234,10 +234,10 @@ OPTIONS\n                    sanity-check is performed to ensure that the given value is\n                    canonicalize-able as an ANSI color, but it is written as-is.\n    \n    -               If the command is in list mode, then the --type <type> argument\n    -               will apply to each listed config value. If the value does not\n    -               successfully parse in that format, then it will be omitted from\n    -               the list.\n    +           If the command is in list mode, then the --type <type> argument\n    +           will apply to each listed config value. If the value does not\n    +           successfully parse in that format, then it will be omitted from the\n    +           list.\n    \n            --bool, --int, --bool-or-int, --path, --expiry-date\n                Historical options for selecting a type specifier. Prefer instead\n    @@ -841,9 +841,9 @@ CONFIGURATION FILE\n                    Boolean false literals are no, off, false, 0 and the empty\n                    string.\n    \n    -               When converting a value to its canonical form using the\n    -               --type=bool type specifier, git config will ensure that the\n    -               output is \"true\" or \"false\" (spelled in lowercase).\n    +           When converting a value to its canonical form using the --type=bool\n    +           type specifier, git config will ensure that the output is \"true\" or\n    +           \"false\" (spelled in lowercase).\n    \n            integer\n                The value for many variables that specify various sizes can be\n    @@ -5869,28 +5869,26 @@ CONFIGURATION FILE\n                    exactly match the value advertised by the server for the\n                    \"token\" field.\n    \n    -               If any of these conditions is not met for any field name listed\n    -               in promisor.checkFields, the advertised remote \"foo\" is\n    -               rejected.\n    +           If any of these conditions is not met for any field name listed in\n    +           promisor.checkFields, the advertised remote \"foo\" is rejected.\n    \n    -               For the \"partialCloneFilter\" field, this allows the client to\n    -               ensure that the server’s filter matches what it expects\n    -               locally, preventing inconsistencies in filtering behavior. For\n    -               the \"token\" field, this can be used to verify that\n    -               authentication credentials match expected values.\n    +           For the \"partialCloneFilter\" field, this allows the client to\n    +           ensure that the server’s filter matches what it expects locally,\n    +           preventing inconsistencies in filtering behavior. For the \"token\"\n    +           field, this can be used to verify that authentication credentials\n    +           match expected values.\n    \n    -               Field values are compared case-sensitively.\n    +           Field values are compared case-sensitively.\n    \n    -               The \"name\" and \"url\" fields are always checked according to the\n    -               promisor.acceptFromServer policy, independently of this\n    -               setting.\n    +           The \"name\" and \"url\" fields are always checked according to the\n    +           promisor.acceptFromServer policy, independently of this setting.\n    \n    -               The field names and values should be passed by the server\n    -               through the \"promisor-remote\" capability by using the\n    -               promisor.sendFields config variable. The fields are checked\n    -               only if the promisor.acceptFromServer config variable is not\n    -               set to \"None\". If set to \"None\", this config variable has no\n    -               effect. See gitprotocol-v2(5).\n    +           The field names and values should be passed by the server through\n    +           the \"promisor-remote\" capability by using the promisor.sendFields\n    +           config variable. The fields are checked only if the\n    +           promisor.acceptFromServer config variable is not set to \"None\". If\n    +           set to \"None\", this config variable has no effect. See gitprotocol-\n    +           v2(5).\n    \n            promisor.storeFields\n                A comma or space separated list of additional remote related field\n    @@ -6630,15 +6628,15 @@ CONFIGURATION FILE\n                    the top-level --git-dir command-line option, or the GIT_DIR\n                    environment variable (see git(1)).\n    \n    -               If you do not use bare repositories in your workflow, then it\n    -               may be beneficial to set safe.bareRepository to explicit in\n    -               your global config. This will protect you from attacks that\n    -               involve cloning a repository that contains a bare repository\n    -               and running a Git command within that directory.\n    +           If you do not use bare repositories in your workflow, then it may\n    +           be beneficial to set safe.bareRepository to explicit in your global\n    +           config. This will protect you from attacks that involve cloning a\n    +           repository that contains a bare repository and running a Git\n    +           command within that directory.\n    \n    -               This config setting is only respected in protected\n    -               configuration (see the section called “SCOPES”). This prevents\n    -               untrusted repositories from tampering with this value.\n    +           This config setting is only respected in protected configuration\n    +           (see the section called “SCOPES”). This prevents untrusted\n    +           repositories from tampering with this value.\n    \n            safe.directory\n                These config entries specify Git-tracked directories that are\n\n Documentation/config.adoc          | 4 +++-\n Documentation/config/promisor.adoc | 2 ++\n Documentation/config/safe.adoc     | 2 ++\n Documentation/git-config.adoc      | 2 ++\n 4 files changed, 9 insertions(+), 1 deletion(-)\n\ndiff --git a/Documentation/config.adoc b/Documentation/config.adoc\nindex dcea3c0c15..fc48c1c461 100644\n--- a/Documentation/config.adoc\n+++ b/Documentation/config.adoc\n@@ -276,13 +276,15 @@ boolean::\n        When a variable is said to take a boolean value, many\n        synonyms are accepted for 'true' and 'false'; these are all\n        case-insensitive.\n-\n++\n+--\n \ttrue;; Boolean true literals are `yes`, `on`, `true`,\n \t\tand `1`.  Also, a variable defined without `= <value>`\n \t\tis taken as true.\n \n \tfalse;; Boolean false literals are `no`, `off`, `false`,\n \t\t`0` and the empty string.\n+--\n +\n When converting a value to its canonical form using the `--type=bool` type\n specifier, 'git config' will ensure that the output is \"true\" or\ndiff --git a/Documentation/config/promisor.adoc b/Documentation/config/promisor.adoc\nindex b0fa43b839..39af63dcb8 100644\n--- a/Documentation/config/promisor.adoc\n+++ b/Documentation/config/promisor.adoc\n@@ -63,11 +63,13 @@ If one of these field names (e.g., \"token\") is being checked for an\n advertised promisor remote (e.g., \"foo\"), three conditions must be met\n for the check of this specific field to pass:\n +\n+--\n 1. The corresponding local configuration (e.g., `remote.foo.token`)\n    must be set.\n 2. The server must advertise the \"token\" field for remote \"foo\".\n 3. The value of the locally configured `remote.foo.token` must exactly\n    match the value advertised by the server for the \"token\" field.\n+--\n +\n If any of these conditions is not met for any field name listed in\n `promisor.checkFields`, the advertised remote \"foo\" is rejected.\ndiff --git a/Documentation/config/safe.adoc b/Documentation/config/safe.adoc\nindex 2d45c98b12..5ae4476b24 100644\n--- a/Documentation/config/safe.adoc\n+++ b/Documentation/config/safe.adoc\n@@ -2,10 +2,12 @@ safe.bareRepository::\n \tSpecifies which bare repositories Git will work with. The currently\n \tsupported values are:\n +\n+--\n * `all`: Git works with all bare repositories. This is the default.\n * `explicit`: Git only works with bare repositories specified via\n   the top-level `--git-dir` command-line option, or the `GIT_DIR`\n   environment variable (see linkgit:git[1]).\n+--\n +\n If you do not use bare repositories in your workflow, then it may be\n beneficial to set `safe.bareRepository` to `explicit` in your global\ndiff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc\nindex 00545b2054..8439ce97df 100644\n--- a/Documentation/git-config.adoc\n+++ b/Documentation/git-config.adoc\n@@ -221,6 +221,7 @@ Use `--no-value` to unset _<pattern>_.\n +\n Valid `<type>`'s include:\n +\n+--\n - 'bool': canonicalize values `true`, `yes`, `on`, and positive\n   numbers as \"true\", and values `false`, `no`, `off` and `0` as\n   \"false\".\n@@ -239,6 +240,7 @@ Valid `<type>`'s include:\n   escape sequence. When setting a value, a sanity-check is performed to ensure\n   that the given value is canonicalize-able as an ANSI color, but it is written\n   as-is.\n+--\n +\n If the command is in `list` mode, then the `--type <type>` argument will apply\n to each listed config value. If the value does not successfully parse in that\n-- \n2.30.2\n\n"},{"id":"545302","messageId":"20260611161946.12166-1-taahol@utu.fi","threadId":"65787","inReplyTo":"20260610185148.23920-1-taahol@utu.fi","subject":"[PATCH v3 0/3] doc: config: fix AsciiDoc glitches","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-11T16:19:43Z","receivedAt":"2026-06-11T17:07:08Z","isPatch":true,"body":"Fix various markup shortcomings in git-config(1).\n\nBased on 29bd7ed512 (The second batch, 2026-05-12).\n\nTuomas Ahola (3):\n  doc: config: terminate runaway lists\n  doc: config/sideband: fix description list delimiter\n  doc: git-config: escape erroneous highlight markup\n\n Documentation/config.adoc          | 4 +++-\n Documentation/config/promisor.adoc | 2 ++\n Documentation/config/safe.adoc     | 2 ++\n Documentation/config/sideband.adoc | 2 +-\n Documentation/git-config.adoc      | 8 +++++---\n 5 files changed, 13 insertions(+), 5 deletions(-)\n\nIntervall-diff mot v2:\n-:  ---------- > 1:  c9131b23fd doc: config: terminate runaway lists\n-:  ---------- > 2:  ca65211ea4 doc: config/sideband: fix description list delimiter\n1:  0341a4bde9 ! 3:  e2d0cc8218 doc: git-config: escape erroneous highlight markup\n    @@ Commit message\n     \n         Paired octothorpes are used in AsciiDoc to mark highlighted text,\n         <mark> being the equivalent HTML tag.  To use the symbol as a literal\n    -    character, it can be escaped with a backslash.\n    +    character, it can be escaped with backticks.\n     \n         Do so in git-config.adoc.\n     \n    @@ Documentation/git-config.adoc: OPTIONS\n      +\n      If _<message>_ begins with one or more whitespaces followed\n     -by \"#\", it is used as-is.  If it begins with \"#\", a space is\n    -+by \"\\#\", it is used as-is.  If it begins with \"\\#\", a space is\n    - prepended before it is used.  Otherwise, a string \" # \" (a\n    +-prepended before it is used.  Otherwise, a string \" # \" (a\n    ++by `#`, it is used as-is.  If it begins with `#`, a space is\n    ++prepended before it is used.  Otherwise, a string `\" # \"` (a\n      space followed by a hash followed by a space) is prepended\n     -to it.  And the resulting string is placed immediately after\n     +to it.  The resulting string is placed immediately after\n\nbase-commit: 29bd7ed5127255713c1ac2f43b7c6f257d7b4594\n-- \n2.30.2\n\n"},{"id":"545303","messageId":"20260611161946.12166-3-taahol@utu.fi","threadId":"65787","inReplyTo":"20260611161946.12166-1-taahol@utu.fi","subject":"[PATCH v3 2/3] doc: config/sideband: fix description list delimiter","fromName":"Tuomas Ahola","fromEmail":"taahol@utu.fi","sentAt":"2026-06-11T16:19:45Z","receivedAt":"2026-06-11T17:07:41Z","isPatch":true,"body":"Signed-off-by: Tuomas Ahola <taahol@utu.fi>\n---\n\nNotes (doc-diff):\n    diff --git a/c9131b23fd1c8611fde5664fcfd4e6d5283648ad/home/taahol/share/man/man1/git-config.1 b/ca65211ea4c351071c5e76dabe4700ad074b75d3/home/taahol/share/man/man1/git-config.1\n    index d915897ca5..e0e2bf3c36 100644\n    --- a/c9131b23fd1c8611fde5664fcfd4e6d5283648ad/home/taahol/share/man/man1/git-config.1\n    +++ b/ca65211ea4c351071c5e76dabe4700ad074b75d3/home/taahol/share/man/man1/git-config.1\n    @@ -6827,8 +6827,10 @@ CONFIGURATION FILE\n                color\n                    Allow ANSI color sequences, line feeds and horizontal tabs, but\n                    mask all other control characters. This is the default.\n    -               cursor:: Allow control sequences that move the cursor. This is\n    -               disabled by default.\n    +\n    +           cursor\n    +               Allow control sequences that move the cursor. This is disabled\n    +               by default.\n    \n                erase\n                    Allow control sequences that erase charactrs. This is disabled\n\n Documentation/config/sideband.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/config/sideband.adoc b/Documentation/config/sideband.adoc\nindex 96fade7f5f..06de0d5c07 100644\n--- a/Documentation/config/sideband.adoc\n+++ b/Documentation/config/sideband.adoc\n@@ -9,7 +9,7 @@ sideband.allowControlCharacters::\n \t`color`::\n \t\tAllow ANSI color sequences, line feeds and horizontal tabs,\n \t\tbut mask all other control characters. This is the default.\n-\t`cursor:`:\n+\t`cursor`::\n \t\tAllow control sequences that move the cursor. This is\n \t\tdisabled by default.\n \t`erase`::\n-- \n2.30.2\n\n"},{"id":"545305","messageId":"xmqqjys5nfsc.fsf@gitster.g","threadId":"65787","inReplyTo":"20260611083139.GA2237523@coredump.intra.peff.net","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2026-06-11T17:33:07Z","receivedAt":"2026-06-11T17:33:09Z","isPatch":true,"body":"Jeff King <peff@peff.net> writes:\n\n> Using backticks does work, though it always opens a typographical\n> question. When reading the source, you see `#`, so you get a punctuation\n> delimiter but no typographical one. In the rendered output, you'll see\n> it in a typewriter font (assuming we fix the config issue), but we'd\n> lose the visible punctuation. I could live with that.\n> ...\n> you might hope by asciidoc. Doing `\" # \"` does work, and is probably OK\n> enough here.\n\nYucky, yucky, asciidoc.  I think these literal notation `#` would be\na good way forward, given the constraints.\n\nThanks.\n"},{"id":"545314","messageId":"5106812.31r3eYUQgx@piment-oiseau","threadId":"65787","inReplyTo":"20260611062525.GB2189088@coredump.intra.peff.net","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Jean-Noël AVILA","fromEmail":"jn.avila@free.fr","sentAt":"2026-06-11T20:43:44Z","receivedAt":"2026-06-11T20:44:03Z","isPatch":true,"body":"On Thursday, 11 June 2026 08:25:25 CEST Jeff King wrote:\n> [and naturally I forgot to cc Jean-Noël; resending, sorry for the noise]\n> \n> On Thu, Jun 11, 2026 at 02:24:23AM -0400, Jeff King wrote:\n> > On Thu, Jun 11, 2026 at 02:11:57AM -0400, Jeff King wrote:\n> > > Though curiously the case of `#` in git-fast-import seems not to get\n> > > marked as <code> in the html output (even though the nearby `LF` does).\n> > > I wonder if there is some special treatment of `#` or something.\n> > \n> > Ah, weird, it has to do with our config file.\n> > \n> > If I do this (not in the git repository):\n> >   echo 'This is a literal `#` symbol.' >foo.adoc\n> >   asciidoc foo.adoc\n> >   grep -i symbol foo.html\n> > \n> > then I get <code> markers, like:\n> >   <div class=\"paragraph\"><p>This is a literal <code>#</code> symbol.</p></div>\n> > \n> > But if I build with:\n> >   asciidoc -f path/to/git/Documentation/asciidoc.conf foo.adoc\n> > \n> > then the grep shows:\n> >   <div class=\"paragraph\"><p>This is a literal # symbol.</p></div>\n> > \n> > Looks like it is due to our [literal-inlinemacro] definition, which\n> > comes from 974cdca345 (doc: introduce a synopsis typesetting,\n> > 2024-09-24). I think this might have been an unintended side effect.\n> > +cc the author of that commit.\n> > \n> > For the purposes of your series, I think we can ignore any issues with\n> > [literal-inlinemacro] for the moment, and decide on \"\\\" versus ``\n> > depending on which we prefer.\n> > \n> > -Peff\n\nOh, this is the black magic regexp that is not considering # for keyword\ncharacter. Should be solved by something like (and I really hate these .in \nfiles):\n\n\n-- >8 --\n\nFrom: =?UTF-8?q?Jean-No=C3=ABl=20Avila?= <jn.avila@free.fr>\nDate: Thu, 11 Jun 2026 19:44:43 +0200\nSubject: [PATCH] asciidoc: fix handling of # in synopsis text\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n\nThere are occurrences of # in the synopsis text of git-config(1) and\ngit-clone(1) that are not handled as keyword by the current asciidoc\nand asciidoctor processors.\n\nSigned-off-by: Jean-Noël Avila <jn.avila@free.fr>\n---\n Documentation/asciidoc.conf.in             | 12 ++++++------\n Documentation/asciidoctor-extensions.rb.in |  6 +++---\n 2 files changed, 9 insertions(+), 9 deletions(-)\n\ndiff --git a/Documentation/asciidoc.conf.in b/Documentation/asciidoc.conf.in\nindex 31b883a72c..b50fad588e 100644\n--- a/Documentation/asciidoc.conf.in\n+++ b/Documentation/asciidoc.conf.in\n@@ -43,7 +43,7 @@ ifdef::doctype-book[]\n endif::doctype-book[]\n \n [literal-inlinemacro]\n-{eval:re.sub(r'(&lt;[-a-zA-Z0-9.]+&gt;)', r'<emphasis>\\1</emphasis>', re.sub(r'([\\[\\s|()>]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@\\\\\\*\\/_^\\$%]+\\.?)+|,)',r'\\1<literal>\\2</literal>', re.sub(r'(\\.\\.\\.?)([^\\]$.])', r'<literal>\\1</literal>\\2', macros.passthroughs[int(attrs['passtext'][1:-1])] if attrs['passtext'][1:-1].isnumeric() else attrs['passtext'][1:-1])))}\n+{eval:re.sub(r'(&lt;[-a-zA-Z0-9.]+&gt;)', r'<emphasis>\\1</emphasis>', re.sub(r'([\\[\\s|()>]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@#\\\\\\*\\/_^\\$%]+\\.?)+|,)',r'\\1<literal>\\2</literal>', re.sub(r'(\\.\\.\\.?)([^\\]$.])', r'<literal>\\1</literal>\\2', macros.passthroughs[int(attrs['passtext'][1:-1])] if attrs['passtext'][1:-1].isnumeric() else attrs['passtext'][1:-1])))}\n \n endif::backend-docbook[]\n \n@@ -75,24 +75,24 @@ git-relative-html-prefix=\n <a href=\"{git-relative-html-prefix}{target}.html\">{target}{0?({0})}</a>\n \n [literal-inlinemacro]\n-{eval:re.sub(r'(&lt;[-a-zA-Z0-9.]+&gt;)', r'<em>\\1</em>', re.sub(r'([\\[\\s|()>]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@,\\\\\\*\\/_^\\$]+\\.?)+)',r'\\1<code>\\2</code>', re.sub(r'(\\.\\.\\.?)([^\\]$.])', r'<code>\\1</code>\\2', macros.passthroughs[int(attrs['passtext'][1:-1])] if attrs['passtext'][1:-1].isnumeric() else attrs['passtext'][1:-1])))}\n+{eval:re.sub(r'(&lt;[-a-zA-Z0-9.]+&gt;)', r'<em>\\1</em>', re.sub(r'([\\[\\s|()>]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@#,\\\\\\*\\/_^\\$]+\\.?)+)',r'\\1<code>\\2</code>', re.sub(r'(\\.\\.\\.?)([^\\]$.])', r'<code>\\1</code>\\2', macros.passthroughs[int(attrs['passtext'][1:-1])] if attrs['passtext'][1:-1].isnumeric() else attrs['passtext'][1:-1])))}\n \n endif::backend-xhtml11[]\n \n ifdef::backend-docbook[]\n ifdef::doctype-manpage[]\n [blockdef-open]\n-synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<phrase>\\\\0</phrase>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<literal>\\\\2</literal>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<emphasis>\\\\0</emphasis>!g'\"\n+synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<phrase>\\\\0</phrase>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@#,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<literal>\\\\2</literal>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<emphasis>\\\\0</emphasis>!g'\"\n \n [paradef-default]\n-synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<phrase>\\\\0</phrase>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<literal>\\\\2</literal>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<emphasis>\\\\0</emphasis>!g'\"\n+synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<phrase>\\\\0</phrase>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@#,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<literal>\\\\2</literal>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<emphasis>\\\\0</emphasis>!g'\"\n endif::doctype-manpage[]\n endif::backend-docbook[]\n \n ifdef::backend-xhtml11[]\n [blockdef-open]\n-synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<span>\\\\0</span>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<code>\\\\2</code>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<em>\\\\0</em>!g'\"\n+synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<span>\\\\0</span>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@#,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<code>\\\\2</code>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<em>\\\\0</em>!g'\"\n \n [paradef-default]\n-synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<span>\\\\0</span>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<code>\\\\2</code>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<em>\\\\0</em>!g'\"\n+synopsis-style=template=\"verseparagraph\",filter=\"sed 's!&#8230;\\\\(\\\\]\\\\|$\\\\)!<span>\\\\0</span>!g;s!\\\\([\\\\[ |()]\\\\|^\\\\|\\\\]\\\\|&gt;\\\\)\\\\([-=a-zA-Z0-9:+@#,\\\\/_^\\\\$.\\\\\\\\\\\\*]\\\\+\\\\|&#8230;\\\\)!\\\\1<code>\\\\2</code>!g;s!&lt;[-a-zA-Z0-9.]\\\\+&gt;!<em>\\\\0</em>!g'\"\n endif::backend-xhtml11[]\ndiff --git a/Documentation/asciidoctor-extensions.rb.in b/Documentation/asciidoctor-extensions.rb.in\nindex fe64a62d96..b5f06827ca 100644\n--- a/Documentation/asciidoctor-extensions.rb.in\n+++ b/Documentation/asciidoctor-extensions.rb.in\n@@ -50,7 +50,7 @@ module Git\n       def process parent, reader, attrs\n         outlines = reader.lines.map do |l|\n           l.gsub(/(\\.\\.\\.?)([^\\]$\\. ])/, '{empty}`\\1`{empty}\\2')\n-           .gsub(%r{([\\[\\] |()>]|^)([-a-zA-Z0-9:+=~@,/_^\\$\\\\\\*]+)}, '\\1{empty}`\\2`{empty}')\n+           .gsub(%r{([\\[\\] |()>]|^)([-a-zA-Z0-9:+=~@#,/_^\\$\\\\\\*]+)}, '\\1{empty}`\\2`{empty}')\n            .gsub(/(<[-a-zA-Z0-9.]+>)/, '__\\\\1__')\n            .gsub(']', ']{empty}')\n         end\n@@ -73,7 +73,7 @@ module Git\n         elsif type == :monospaced\n           node.text.gsub(/(\\.\\.\\.?)([^\\]$\\.])/, '<literal>\\1</literal>\\2')\n               .gsub(/^\\.\\.\\.?$/, '<literal>\\0</literal>')\n-              .gsub(%r{([\\[\\s|()>.]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@/_^\\$\\\\\\*%]+\\.{0,2})+|,)}, '\\1<literal>\\2</literal>')\n+              .gsub(%r{([\\[\\s|()>.]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@#/_^\\$\\\\\\*%]+\\.{0,2})+|,)}, '\\1<literal>\\2</literal>')\n               .gsub(/(&lt;[-a-zA-Z0-9.]+&gt;)/, '<emphasis>\\1</emphasis>')\n         else\n           open, close, supports_phrase = QUOTE_TAGS[type]\n@@ -102,7 +102,7 @@ module Git\n         if node.type == :monospaced\n           node.text.gsub(/(\\.\\.\\.?)([^\\]$.])/, '<code>\\1</code>\\2')\n               .gsub(/^\\.\\.\\.?$/, '<code>\\0</code>')\n-              .gsub(%r{([\\[\\s|()>.]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@,/_^\\$\\\\\\*%]+\\.{0,2})+)}, '\\1<code>\\2</code>')\n+              .gsub(%r{([\\[\\s|()>.]|^|\\]|&gt;)(\\.?([-a-zA-Z0-9:+=~@#,/_^\\$\\\\\\*%]+\\.{0,2})+)}, '\\1<code>\\2</code>')\n               .gsub(/(&lt;[-a-zA-Z0-9.]+&gt;)/, '<em>\\1</em>')\n \n         else\n-- \n\n\n\n"},{"id":"545327","messageId":"20260612045329.GA593075@coredump.intra.peff.net","threadId":"65787","inReplyTo":"20260611161946.12166-1-taahol@utu.fi","subject":"Re: [PATCH v3 0/3] doc: config: fix AsciiDoc glitches","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-12T04:53:29Z","receivedAt":"2026-06-12T04:53:32Z","isPatch":true,"body":"On Thu, Jun 11, 2026 at 07:19:43PM +0300, Tuomas Ahola wrote:\n\n> Tuomas Ahola (3):\n>   doc: config: terminate runaway lists\n>   doc: config/sideband: fix description list delimiter\n>   doc: git-config: escape erroneous highlight markup\n\nThanks, this v3 looks good to me.\n\n-Peff\n"},{"id":"545328","messageId":"20260612051605.GB593075@coredump.intra.peff.net","threadId":"65787","inReplyTo":"5106812.31r3eYUQgx@piment-oiseau","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-12T05:16:05Z","receivedAt":"2026-06-12T05:16:07Z","isPatch":true,"body":"On Thu, Jun 11, 2026 at 10:43:44PM +0200, Jean-Noël AVILA wrote:\n\n> Oh, this is the black magic regexp that is not considering # for keyword\n> character. Should be solved by something like (and I really hate these .in \n> files):\n\nYour patch looks reasonable to me, but for some reason I get this\ndoc-diff output when comparing before/after (what we don't see is the\nimproved output from bolding those chars, since doc-diff doesn't show\nany markup):\n\ndiff --git a/73bccdb573fbdf3df4abf37570be486fc0f53d4a/home/peff/share/man/man1/git-config.1 b/926d9be4ab7ee1a57d4c570ec0f8aba28b3c2af5/home/peff/share/man/man1/git-config.1\nindex b77d79f..b2bced2 100644\n--- a/73bccdb573fbdf3df4abf37570be486fc0f53d4a/home/peff/share/man/man1/git-config.1\n+++ b/926d9be4ab7ee1a57d4c570ec0f8aba28b3c2af5/home/peff/share/man/man1/git-config.1\n@@ -6983,7 +6983,7 @@ CONFIGURATION FILE\n \n      status.displayCommentPrefix\n          If set to true, git-status(1) will insert a comment prefix before each\n-         output line (starting with core.commentChar, i.e. # by default). This\n+         output line (starting with core.commentChar, i.e.  # by default). This\n          was the behavior of git-status(1) in Git 1.8.4 and previous. Defaults\n          to false.\n\nAnd I can see the extra space when looking at the rendered manpage. The\nXML output looks reasonable, though:\n\n  (starting with <literal>core.commentChar</literal>, i.e. <literal>#</literal> by default\n\nas does the HTML. So perhaps it is happening at the roff level? But that\nlooks like:\n\n  will insert a comment prefix before each output line (starting with\n  \\fBcore\\&.commentChar\\fR, i\\&.e\\&.\n  \\fB#\\fR\n  by default)\\&. This was the behavior of\n\nSo...weird. groff wants to add extra space for some reason. It happens\neven if I drop the bolding, and just have \"#\" on a line by itself. I\nguess maybe it is the trailing \".\" of the previous line putting groff\ninto \"oh, I'm starting a new sentence\" mode and it uses two spaces.\n\nBut I think that is all outside the scope of your fix, and this is an\nexisting issue that we are now just unlucky enough to hit. I'd be\ntempted to ignore it and possibly fix it later.\n\n-Peff\n"},{"id":"545341","messageId":"20260612061712.GA675816@coredump.intra.peff.net","threadId":"65787","inReplyTo":"20260612051605.GB593075@coredump.intra.peff.net","subject":"Re: [PATCH v2 3/3] doc: git-config: escape erroneous highlight markup","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2026-06-12T06:17:12Z","receivedAt":"2026-06-12T06:17:20Z","isPatch":true,"body":"On Fri, Jun 12, 2026 at 01:16:06AM -0400, Jeff King wrote:\n\n> So...weird. groff wants to add extra space for some reason. It happens\n> even if I drop the bolding, and just have \"#\" on a line by itself. I\n> guess maybe it is the trailing \".\" of the previous line putting groff\n> into \"oh, I'm starting a new sentence\" mode and it uses two spaces.\n> \n> But I think that is all outside the scope of your fix, and this is an\n> existing issue that we are now just unlucky enough to hit. I'd be\n> tempted to ignore it and possibly fix it later.\n\nPoking at the groff manpage for possible fixes, I think it is either:\n\n  1. Just turn off extra spaces between sentences, like this:\n\n       .ss 12 0\n\n     The first argument \"12\" is \"the minimum word space is 12/12ths of\n     the current font's word space. The second is \"also add 0/12ths\n     between sentences\" (so, no extra space).\n\n     That prevents the problem from happening anywhere, but maybe people\n     really like the extra spaces in other contexts.\n\n  2. There are some magic characters marked as \"this doesn't start a new\n     sentence\". We can set that flag for \"#\" like this:\n\n       .cflags 32 \\#\n\nI don't think docbook has parameter support for either of those, so we'd\nhave to do some kind of \"shove this into the header\" magic, which is a\nbit gross.\n\n-Peff\n"},{"id":"545388","messageId":"xmqqa4sziytd.fsf@gitster.g","threadId":"65787","inReplyTo":"20260612045329.GA593075@coredump.intra.peff.net","subject":"Re: [PATCH v3 0/3] doc: config: fix AsciiDoc glitches","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2026-06-12T15:05:34Z","receivedAt":"2026-06-12T15:05:37Z","isPatch":true,"body":"Jeff King <peff@peff.net> writes:\n\n> On Thu, Jun 11, 2026 at 07:19:43PM +0300, Tuomas Ahola wrote:\n>\n>> Tuomas Ahola (3):\n>>   doc: config: terminate runaway lists\n>>   doc: config/sideband: fix description list delimiter\n>>   doc: git-config: escape erroneous highlight markup\n>\n> Thanks, this v3 looks good to me.\n\nYup this one nicely sidesteps the yucky \\# thing, which is very\ngood.\n\nThanks.\n"},{"id":"545389","messageId":"xmqq8q8jiyt2.fsf@gitster.g","threadId":"65787","inReplyTo":"20260612045329.GA593075@coredump.intra.peff.net","subject":"Re: [PATCH v3 0/3] doc: config: fix AsciiDoc glitches","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2026-06-12T15:05:45Z","receivedAt":"2026-06-12T15:05:47Z","isPatch":true,"body":"Jeff King <peff@peff.net> writes:\n\n> On Thu, Jun 11, 2026 at 07:19:43PM +0300, Tuomas Ahola wrote:\n>\n>> Tuomas Ahola (3):\n>>   doc: config: terminate runaway lists\n>>   doc: config/sideband: fix description list delimiter\n>>   doc: git-config: escape erroneous highlight markup\n>\n> Thanks, this v3 looks good to me.\n\nYup this one nicely sidesteps the yucky \\# thing, which is very\ngood.\n\nThanks.\n"},{"id":"545390","messageId":"xmqq4ij7iyst.fsf@gitster.g","threadId":"65787","inReplyTo":"20260612045329.GA593075@coredump.intra.peff.net","subject":"Re: [PATCH v3 0/3] doc: config: fix AsciiDoc glitches","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2026-06-12T15:05:54Z","receivedAt":"2026-06-12T15:05:57Z","isPatch":true,"body":"Jeff King <peff@peff.net> writes:\n\n> On Thu, Jun 11, 2026 at 07:19:43PM +0300, Tuomas Ahola wrote:\n>\n>> Tuomas Ahola (3):\n>>   doc: config: terminate runaway lists\n>>   doc: config/sideband: fix description list delimiter\n>>   doc: git-config: escape erroneous highlight markup\n>\n> Thanks, this v3 looks good to me.\n\nYup this one nicely sidesteps the yucky \\# thing, which is very\ngood.\n\nThanks.\n"}]}