Source: help2man
Version: 1.49.3
Severity: wishlist

In trixie and above, including tables in a manpage does not work
anymore, unless the "tbl" preprocessor is added explicitly. This means
tables are not rendered, and warnings of the following form are emitted:

  warning: tbl preprocessor failed, or it or soelim was not run;
  table(s) likely not rendered (TE macro called with TW register
  undefined)

help2man does not output any tables by default (AIUI) but in case one
adds text e.g. in their DESCRIPTION that includes tables, it won't work.

Per [1][2] the fix is for the first line of the manpage to be:

'\" t

I did not find a way to inject this with help2man, and checking through
the source, it just seems there is no support for that. (I can of course
easily post-process the file, but this is not ideal.)

1: https://lists.debian.org/debian-devel/2023/08/msg00220.html
2: https://manpages.debian.org/bookworm/man-db/man.1.en.html#DEFAULTS

To reproduce, you can generate a table with:
$ cat <<EOF | lowdown -tman
| Column1 | Column2 |
| ------- | ------- |
| foo     | bar     |
EOF

And then include this to e.g. under a [DESCRIPTION] header.

Then pass the generated manpage through:
  LC_ALL=C.UTF-8 MANROFFSEQ='' MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z 
>/dev/null
(which is what lintian does) and observe if there are any warnings.

While my issue is specific to the "tbl" preprocessor, man(1) supports
other preprocessors, including eqn (e), grap (g), pic (p), tbl (t),
vgrind (v), refer (r). See the `-p` argument. Perhaps help2man should
just gain an argument to support adding arbitrary preprocessors to its
output? 

Thanks,
Faidon

Reply via email to