From: Jeff King <peff@peff.net>
To: Kristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com>
Cc: git@vger.kernel.org
Subject: [PATCH v2] gitglossary: fix indentation of sub-lists
Date: Sat, 11 Apr 2026 17:55:18 -0400 [thread overview]
Message-ID: <20260411215518.GA1651019@coredump.intra.peff.net> (raw)
In-Reply-To: <20260411214213.GA1563438@coredump.intra.peff.net>
On Sat, Apr 11, 2026 at 05:42:13PM -0400, Jeff King wrote:
> > I think the first thing is caused by the context already being in an
> > open block?
>
> Yes. Looks like asciidoc learned to handle nested entries better, but
> perhaps asciidoctor didn't.
>
> I think I've found a workaround, which I'll post in a moment. Thanks for
> reporting.
Here it is.
-- >8 --
Subject: [PATCH] gitglossary: fix indentation of sub-lists
The glossary entry is a list of terms and their definitions, so
multi-paragraph definitions need "+" continuation lines to indicate
that they are part of a single entry.
When an entry contains a sub-list (say, a bulleted list), the final "+"
may become ambiguous: is it connecting the next paragraph to the final
entry of the sub-list, or to the original list of definition paragraphs?
Asciidoc generally connects it to the former, even when we mean the
latter, and you end up with the next paragraph indented incorrectly,
like this:
glob
...defines glob...
Two consecutive asterisks ("**") in patterns matched
against full pathname may have special meaning:
- ...some special meaning of **...
- ...another special meaning of **...
- Other consecutive asterisks are considered invalid.
Glob magic is incompatible with literal magic.
That final "Glob magic is incompatible" paragraph is in the wrong spot.
It should be at the same level as "Two consecutive asterisks", as it is
not part of the final "Other consecutive asterisks" bullet point.
The same problem appears in several other spots in the glossary.
Usually we'd fix this by using "--" markers, which put the sub-list into
its own block. But there's a catch: in some of these spots we are
already in an open block, and nesting open blocks is a problem. It seems
to work for me using Asciidoc 10.2.1, but Asciidoctor 2.0.26 makes a
mess of it (our intent to open a new block seems to close the old one).
Fortunately there's a work-around: when using a "+" list-continuation,
the number of empty lines above the continuation indicates which level
of parent list to continue. So by adding an empty line after our
unordered list (before the "+"), we should be able to continue the
definition list item.
But asciidoc being asciidoc, of course that is not the end of the story.
That technique works fine for the "glob" and "attr" lists in this patch,
but under the "refs" item it works for only 1 of the 2 lists! I can't
figure out why, and this may be an asciidoctor bug. But we can work
around it by using "--" open-block markers here, since we're not
already in an open block.
So using the extra blank line for the first two instances, and "--"
markers for the second two, this patch produces identical output from
"doc-diff HEAD^ HEAD" for both --asciidoctor and --ascii modes.
Signed-off-by: Jeff King <peff@peff.net>
---
Documentation/glossary-content.adoc | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/glossary-content.adoc b/Documentation/glossary-content.adoc
index 20ba121314..8c4e9dd3be 100644
--- a/Documentation/glossary-content.adoc
+++ b/Documentation/glossary-content.adoc
@@ -430,6 +430,7 @@ full pathname may have special meaning:
matches "`a/b`", "`a/x/b`", "`a/x/y/b`" and so on.
- Other consecutive asterisks are considered invalid.
+
+
Glob magic is incompatible with literal magic.
@@ -452,6 +453,7 @@ these forms:
- "`!ATTR`" requires that the attribute `ATTR` be
unspecified.
+
+
Note that when matching against a tree object, attributes are still
obtained from working tree, not from the given tree object.
@@ -560,14 +562,17 @@ The ref namespace is hierarchical.
Ref names must either start with `refs/` or be located in the root of
the hierarchy. For the latter, their name must follow these rules:
+
+--
- The name consists of only upper-case characters or underscores.
- The name ends with "`_HEAD`" or is equal to "`HEAD`".
+--
+
There are some irregular refs in the root of the hierarchy that do not
match these rules. The following list is exhaustive and shall not be
extended in the future:
+
+--
- `AUTO_MERGE`
- `BISECT_EXPECTED_REV`
@@ -577,6 +582,7 @@ extended in the future:
- `NOTES_MERGE_REF`
- `MERGE_AUTOSTASH`
+--
+
Different subhierarchies are used for different purposes. For example,
the `refs/heads/` hierarchy is used to represent local branches whereas
--
2.54.0.rc1.336.g4588871dc4
next prev parent reply other threads:[~2026-04-11 21:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-11 19:06 [PATCH] gitglossary: fix indentation of sub-lists Jeff King
2026-04-11 20:34 ` Kristoffer Haugsbakk
2026-04-11 20:47 ` Kristoffer Haugsbakk
2026-04-11 21:42 ` Jeff King
2026-04-11 21:55 ` Jeff King [this message]
2026-04-12 9:10 ` [PATCH v2] " Kristoffer Haugsbakk
2026-04-12 19:56 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260411215518.GA1651019@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=kristofferhaugsbakk@fastmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox