[CCing Russ because a question about pod2man's generation of man(7) has
come up]

At 2026-06-19T03:07:34+0200, Guillem Jover wrote:
> Control: affects -1 src:dpkg
> 
> On Thu, 2026-04-30 at 00:18:12 -0500, G. Branden Robinson wrote:
> > > Control: affects -1 fvwm perl-doc
> > > 
> > > Re-adding perl-doc.
> 
> I had seen this problem as well with many dpkg man pages, but did not
> have the time to check what might have regressed, now found this
> report.  After reading it, and checking further I guess this can
> happen as well to any pod2man generated man page, for example as(1),
> or perl itself in for example perlrun(1).

Yes, likely, until an updated version of pod2man percolates into Debian
unstable.

> Hmm, this seems unrelated though? Or I don't understand the relation
> between CW/CR and .IP? (Just in case, I tried to call pod2man with
> --fixed=CR but that did not seem to fix this problem?)

There are multiple changes queued up in pod2man.  Yes, the font name
selection issue is separate from the indentation applied to paragraphs
populated with the `IP` man(7) macro.

> I tried my system pod2man with PERL5LIB pointing to the Pod modules
> from git, and that didn't fix anything, so it appears like this is not
> fixed yet (and might have never been reported upstream?), but maybe I
> botched my testing process. I didn't see anything obvious related to
> .IP in «git log» (besides the justification fixes).

The change in `IP` handling is known in _groff_ upstream, and documented
in the groff 1.24.0 release notes.

NEWS:

*  The an (man) macro package's `IP` macro no longer honors the formerly
   hard-coded 1n tag separation noted in the previous item.  This means
   that the first argument to the `IP` macro can abut the text of the
   paragraph with no intervening space.  If you use a word instead of
   punctuation or a list enumerator for `IP`'s first argument, consider
   migrating to `TP`.

(That text is already in this Debian bug's log as message #10 by Vincent
Lefevre.)

If by "upstream" you meant pod2man, it's worth exploring whether that
tool is generating `TP` macros for things like definition lists, or
`IP`.  `TP` is a better choice and it is going to become increasingly
important given changes expected in groff 1.25 and planned for the
future.

NEWS:

*  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.

   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.

The foregoing are completely optional extensions and can't break
anything (except document that already define their own page-local `LS`
and `LE`, macros--but I've never seen one that did that I didn't write).

An unscheduled future enhancement is to enable "automatic tagging" (in
the hypertext sense) of paragraph tags.  If all goes according to plan,
that feature, which should require no new macros or revision of any
man(7) document, will pay off the promise of the `IX` macro and enable
precise hyperlinking within such documents.  That is, at a granularity
finer than (sub)section headings.

For a glimpse of what is already possible, see
<https://lists.gnu.org/archive/html/groff/2026-07/msg00001.html>.

I don't have a good reference for the automatic tagging plans, as I
haven't come up with a précis for the feature yet.  Once I do I'll make
a Savannah ticket out of it.  For background, albeit one preoccuped with
groff internals and a spirited suggestion that groff not bother
implementing this feature because mandoc(1) already has it, see
<https://lists.gnu.org/archive/html/groff/2025-01/msg00082.html>.

> So I think it would be nice to apply the man.local workaround posted
> in this report to the Debian groff package, until at least pod2man has
> been fixed and included as part of a Perl release in Debian?

In case it's not clear, I think that's a fine idea, having written the
workaround myself.  ;-)

As a GNU project, groff has no influence over pod2man's release
schedule, nor Debian's for staging transitions into its unstable suite.

> What do you think Colin?

I _do_ hope to release groff 1.25.0 this calendar month, but Colin knows
how (un)reliable I am at precisely hitting planned release dates, so my
estimate should be taken with a grain of salt.

Here are my most recent status updates.

https://lists.gnu.org/archive/html/groff/2026-06/msg00017.html
https://lists.gnu.org/archive/html/groff/2026-07/msg00001.html

If I'm not too far off this time, coalescing that patch with the 1.25.0
packaging work might mean fewer context switches on the human side.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature

Reply via email to