From: Alejandro Colomar <alx@kernel.org>
To: "G. Branden Robinson" <g.branden.robinson@gmail.com>
Cc: linux-man@vger.kernel.org
Subject: Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config)
Date: Sun, 23 Aug 2026 14:29:54 +0200 [thread overview]
Message-ID: <aorlBv8YTu4JlZcy@devuan> (raw)
In-Reply-To: <20260807021256.pwzsls7awqmbslti@illithid>
[-- Attachment #1: Type: text/plain, Size: 4649 bytes --]
[CC -= DJ]
Hi Branden,
> Date: 2026-08-06 21:12:56-0500
> From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
>
> At 2026-08-06T16:42:35-0400, DJ Delorie wrote:
> > Alejandro Colomar <alx@kernel.org> writes:
> > > (I haven't tested; I've written it in the mail editor directly)
> >
> > The placement of the .PD's is important ;-)
> >
> > I'll send a v5 with these, you can decide if you like them or not.
>
> Managing `PD` placement to achieve "compact lists" is indeed tedious.
>
> If you like, you guys can pilot groff 1.25.0's new `LS` and `LE` macros
> for man(7). I expect to release 1.25.0 in the next week and a half.
Oops, I forgot about this before pushing. I can still patch the page
to do that. I was planning to release tomorrow, so it'd be interesting
to have one page with that.
BTW, I haven't heard of Mr. Sed for some long time. It'd be nice to
meet him again. ;-)
I've tried building groff from git HEAD now, and have some issues.
Bootstrap succeeds, configure succeeds, and then make(1) eventually
fails:
$ make
GEN doc/groff.html
Cannot find a locale compatible with document strings translations
doc/groff.texi:12253: warning: @image file `line-layout' (for HTML) not found, using `line-layout.png'
doc/groff.texi:26767: warning: @image file `gnu' (for HTML) not found, using `gnu.png'
cp: cannot stat './doc/gnu.png': No such file or directory
cp: cannot stat './doc/line-layout.png': No such file or directory
make: *** [Makefile:20047: doc/groff.html] Error 1
Do you know what's wrong?
Have a lovley day!
Alex
>
> Unlike the `MR` macro introduction/reform, `LS` and `LE` can be adopted
> early and without any negative consequence except a GNU troff(1) warning
> in category `mac`, which is not enabled by default, but which some
> people enable for linting purposes.
>
> If even that is unacceptable, you can add the following anywhere after
> the `TH` macro call and before your use of `LS`.
>
> .\" Avoid `mac` warnings from groff < 1.25.
> .as LS \" empty
> .as LE \" empty
>
> Use the `as` request instead of `ds`, lest you clobber groff 1.25's
> macro definitions.
>
> So how do `LS` and `LE` help? Here's groff's "NEWS" file:
>
> * The an (man) package offers new macros to ease the formatting of
> lists. Enclose paragraphing macros between `LS` and `LE` to identify
> them as list items. Doing so can mark them as "compact", ease
> management of their indentation, and supply hints to the output
> driver to improve their rendering (as with HTML). Lists can be
> nested. (Sub)sectioning macro calls, and the end of the document,
> close all open lists. See groff_man(7) for details, and
> groff_man_style(7) for an example. Thanks to Alex Colomar, Chet
> Ramey, Pádraig Brady, and Stephen Gildea for consultation and
> encouragement, and to Alex for selecting these macros' names.
>
> Because these macros format no text, documents employing them risk no
> damage to their content if the formatter does not support them. A
> man(7) document author can choose either to transition to these
> macros, to manage list "compactness" and item indentation with
> existing man(7) package facilities, or to employ both approaches.
>
> ...and here's groff_man(7).
>
> List enclosure macros
> ...
> .LS type [compactness [indentation]]
> (since groff 1.25) Start (or open) a list. type is one of
> “definition”, “enumerated”, or “itemized”. compactness is a
> Boolean value directing suppression of inter‐paragraph
> spacing between list items. indentation specifies an
> indentation amount for the body of each list item; it is
> then unnecessary to specify this argument to the list item
> macros. Use IP with a mark argument to represent an
> itemized or enumerated list item, and TP for a definition
> list item. Use IP without arguments to associate successive
> paragraphs with an existing list item; to these, inter‐
> paragraph spacing applies even in compact lists.
>
> .LE (since groff 1.25) End (or close) the most recent open list.
>
> For groff 1.26, I hope to use the "type" property to select appropriate
> HTML elements to bracket paragraphs within list enclosures.
>
> See:
>
> https://savannah.gnu.org/bugs/?68335
> https://savannah.gnu.org/bugs/?68424
>
> Regards,
> Branden
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-08-23 12:29 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-03 19:21 [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config DJ Delorie
2026-08-06 14:37 ` Alejandro Colomar
2026-08-06 15:33 ` DJ Delorie
2026-08-06 19:14 ` Alejandro Colomar
2026-08-06 20:17 ` DJ Delorie
2026-08-06 20:31 ` Alejandro Colomar
2026-08-06 20:42 ` DJ Delorie
2026-08-07 2:12 ` G. Branden Robinson
2026-08-07 3:29 ` DJ Delorie
2026-08-07 3:49 ` G. Branden Robinson
2026-08-07 4:01 ` DJ Delorie
2026-08-07 4:09 ` G. Branden Robinson
2026-08-23 12:29 ` Alejandro Colomar [this message]
2026-08-23 13:27 ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) G. Branden Robinson
2026-08-23 13:55 ` Alejandro Colomar
2026-08-23 14:16 ` G. Branden Robinson
2026-08-23 15:06 ` Alejandro Colomar
2026-08-23 16:44 ` G. Branden Robinson
2026-08-23 19:30 ` Alejandro Colomar
2026-08-23 20:40 ` G. Branden Robinson
2026-08-23 23:11 ` Alejandro Colomar
2026-08-24 1:11 ` G. Branden Robinson
2026-08-24 2:01 ` Using LS/LE Collin Funk
2026-08-24 11:08 ` Alejandro Colomar
2026-08-24 11:00 ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-23 22:31 ` autotools, was: Using LS/LE Ingo Schwarze
2026-08-24 0:09 ` Alejandro Colomar
2026-08-29 4:36 ` G. Branden Robinson
2026-08-29 11:34 ` Ingo Schwarze
2026-08-29 12:51 ` Alejandro Colomar
2026-08-29 19:16 ` G. Branden Robinson
2026-08-29 21:43 ` Alejandro Colomar
[not found] ` <8DE76435-CBDB-42D6-9E0F-9E27291560B6@icloud.com>
2026-08-29 8:42 ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-29 8:45 ` Alejandro Colomar
2026-08-29 8:52 ` Alejandro Colomar
2026-08-29 9:02 ` Alejandro Colomar
2026-08-29 9:39 ` Ingo Schwarze
2026-08-29 13:10 ` configure separate from make or not (was: Using LS/LE) Alejandro Colomar
2026-08-29 15:31 ` configure separate from make or not Ingo Schwarze
2026-08-29 20:49 ` Alejandro Colomar
2026-08-30 13:17 ` Alejandro Colomar
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=aorlBv8YTu4JlZcy@devuan \
--to=alx@kernel.org \
--cc=g.branden.robinson@gmail.com \
--cc=linux-man@vger.kernel.org \
/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