All of lore.kernel.org
 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: Re: Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config)
Date: Sun, 23 Aug 2026 17:06:16 +0200	[thread overview]
Message-ID: <aosHFaauEzKEFNpl@devuan> (raw)
In-Reply-To: <20260823141622.7vszwghxrxvkff4j@illithid>

[-- Attachment #1: Type: text/plain, Size: 5776 bytes --]

Hi Branden,

> Date: 2026-08-23 09:16:22-0500
> From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
>
> Hi Alex,
> 
> At 2026-08-23T15:55:29+0200, Alejandro Colomar wrote:
> > > From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
> > > > Do you know what's wrong?
> > > 
> > > More or less. It turns out to be damned hard to balance the
> > > requirements of (1) Automake maintainer mode; (2) building from Git
> > > repository checkouts; and (3) building from distribution archives.
> > > Bruno Haible has been helpful in finding scenarios that don't work.
> > > 
> > > https://lists.gnu.org/archive/html/groff/2026-08/msg00039.html
> > 
> > Hmmmm, now it rings a bell.  bootstrap said something about configure
> > with maintainer mode, but I ignored that, since I had never used
> > maintainer mode.
> 
> Right.  I introduced that very recently during the RCs for 1.25.0,
> because it seemed necessary.  But as shown, Bruno has proposed patches
> ripping it back out.
> 
> I'm pretty frustrated with Automake's lack of explicit support for
> building from Git working copies.  Or maybe it's brilliantly documented
> somewhere I haven't seen yet...

I dislike autotools for that and other reasons.  For groff(1), writing
a portable hand-written Makefile might be too hard to write.  But for
the man-pages, I love the hand-written Makefile we have.  I'm still
waiting for GNU Make to make a new release, and then be able to get rid
of the mandatory -R, but other than that, it works quite nicely.

[...]
> I do _not_ get such errors.  Shell session attached.
> 
> ...but I'm building _from the release candidate archive_, as I advised
> you to do.

Yup; I don't like using tarballs.  It's much easier to just check out
git HEAD.  :)

> > > Build finished successfully for me in about 60 seconds.
> > 
> > Out of curiosity, where did you get those timestamps from?  Does your
> > history file store them?
> 
> Yes.  That's simply the output of Bash's "history" built-in.  I chopped
> off the command numbers and removed irrelevancies like "ls".

Oh, I don't have that!

	$ history | tail -n1
	 1997  history | tail -n1

After checking `help history`, I now realize it has a HISTTIMEFORMAT
variable for doing that.

I've added it now to my bashrc:

	alx@devuan:~/src/alx/config/main$ git show -U0
	commit 9b64c78f797fc3abab83148b24143402a5d2a839 (HEAD -> main)
	Author: Alejandro Colomar <alx@kernel.org>
	Date:   2026-08-23 16:53:59 +0200

	    bash: HISTTIMEFORMAT: Add variable
	    
	    Signed-off-by: Alejandro Colomar <alx@kernel.org>

	diff --git a/etc/bash.bashrc b/etc/bash.bashrc
	index af974d211e14..f2f7772c8e51 100644
	--- a/etc/bash.bashrc
	+++ b/etc/bash.bashrc
	@@ -2,0 +3 @@ export GPG_TTY="$(tty)";
	+export HISTTIMEFORMAT="%F %T%z ";

I've been wanting that for a long long time!  It's good to know it
exists.  :)

> > Using groff from git HEAD, I see the list as this:
> > 
> > 	$ cat ls.man 
> > 	.TH a s d f
> > 	.SH test
> > 	foo
> > 	.LS
> > 	.IP \[bu] 3
> > 	bar
> > 	.IP \[bu]
> > 	baz
> > 	.LS
> > 	.P
> > 	qwe
> > 	$ /opt/local/gnu/groff/20260823_master/bin/groff -man -Tutf8 ./ls.man 
> > 	a(s)                                                                        a(s)
> > 
> > 	test
> > 	     foo
> > 
> > 	     •  bar
> > 
> > 	     •  baz
> > 
> > 	     qwe
> > 
> > 	f                                       d                                   a(s)
> > 
> > Is this intended?  I thought it would imply PD 0.
> 
> Yes, it's intended.  If you want the list compact, you have to say so.
> 
> Also, you need to say what kind of list you're presenting.
> 
> groff_man(7):
>      .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.
> 
> > 	.LS
> 
> Say instead:
> 
> .LS itemized 1

Oh, yeah, I forgot to RTFM.  :-)

Here's an interesting thing (it might be okay, just noting it):

	diff --git i/man/man5/tunables.conf.5 w/man/man5/tunables.conf.5
	index 91bb6b81cb85..835c409eb074 100644
	--- i/man/man5/tunables.conf.5
	+++ w/man/man5/tunables.conf.5
	@@ -89,9 +89,10 @@ .SS Filters
	 Filters limit the tunables following it.
	 The effects of a filter are terminated by
	 any of the following:
	+.P
	+.LS itemized 1
	 .IP \[bu] 3
	 The end of the file.
	-.PD 0
	 .IP \[bu]
	 The end of an included file.
	 .IP \[bu]
	@@ -100,7 +101,7 @@ .SS Filters
	 directive.
	 .IP \[bu]
	 A new (possibly empty) filter.
	-.PD
	+.LE
	 .P
	 The syntax is:
	 .P

I had to add that P paragraph so that there's a blank before the list.
That's a bit unusual, since that would technically be an empty
paragraph; or maybe we can consider that paragraph to be the entire
list, but that's unusual in man(7).  That said, I'm fine with that.

What do you think?


Cheers,
Alex

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-08-23 15:06 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               ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-23 13:27                 ` 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 [this message]
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=aosHFaauEzKEFNpl@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.