groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [BUG] man(7) page not showing footer


From: G. Branden Robinson
Subject: Re: [BUG] man(7) page not showing footer
Date: Wed, 2 Nov 2022 01:16:12 -0500

Hi Alex,

At 2022-11-01T15:16:23+0100, Alejandro Colomar wrote:
> Another bug.  This time in troff(1) it seems.

I can reproduce it, not just with the current core(5) from man-pages,
but with some others from the same man5 directory, and not always at a
width of 78 columns.

I therefore suspect the problem is with man(7), and more specifically
with my complicated and ugly (yet necessary, because the macro package
cannot control how much text people try to jam into the arguments to
`TH`[1]) abbreviation logic that is new to groff 1.23.

https://git.savannah.gnu.org/cgit/groff.git/tree/tmac/an.tmac?id=dc98a8b09e7f3dcfe968b978eb210f468db78cc9#n432
https://git.savannah.gnu.org/cgit/groff.git/tree/tmac/an.tmac?id=dc98a8b09e7f3dcfe968b978eb210f468db78cc9#n505

That isn't confirmed yet, but after also seeing the problem in
filesystems(5), slabinfo(5), and utmp(5), that's the way my nose hairs
are blowing.

> I hope this helps to kill that bug :)

I hope so too.  Thank you for the report.

While chasing this down I encountered another problem with the pages,
and this one isn't a groff bug--more of a design limitation of ancient
vintage.  ("Ah, an early '70s Murray Hill--potent yet graceful, with a
hint of mordancy and a lingering, incomplete finish.")

Consider the page procfs(5).  Here it is.

$ cat man5/procfs.5
.so man5/proc.5

Here's the problem.  Your proc(5) has a tbl(1) table in it.

That means that tbl(1) happily runs on this file as you ask it to...and
dutifuly does nothing with it, since there are no ".TS" and ".TE"
tokens.

That means that when you view the page and get down the stuff about
"VmFlags" after /proc/pid/smaps, the table is not rendered.

I only noticed this because I've added a new diagnostic to the man(7)
package.

an.tmac:man5/proc.5:2043: warning: tbl preprocessor failed or was not
run; table(s) likely not rendered (TE macro called with TW register
undefined)

If you're going to have one man page file `so`urce another, you need to
also run the soelim(1) preprocessor if the sourced page requires
preprocessing by tbl(1), eqn(1), pic(1), and so on.

It seems I should update this diagnostic to also suggest this
possibility.

Regards,
Branden

[1] See <https://savannah.gnu.org/bugs/?43532>.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]