Linux Manual Pages development
 help / color / mirror / Atom feed
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 --]

  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