[PATCH 10/42] locate.1: improve table formatting
"G. Branden Robinson" <[email protected]> Tue, 18 Nov 2025 21:45:31 -0600
| Newsgroups | gmane.comp.gnu.findutils.bugs |
|---|---|
| Message-ID | <20251119034531.xbed6halaxbqddyj@illithid> |
* Use paragraphing macro to put vertical space above the table so that
it looks more like a typographical "display".[1]
* Set table cells that overset the line on AT&T nroff (where the line
length is 65n) using text blocks.
* Issue `na` request in these text blocks to prevent the cell contents
from adjusting in the event the formatter/package/user has configured
man pages to employ adjustment by default. (Practices vary; it's a
long story.[2])
* Remove spaces around the configured tbl(1) tab character of `|`. This
certainly does make the table uglier in source form. Unfortunately,
AT&T tbl(1) takes those spaces deadly seriously and they impact the
computed cell (and therefore column) widths. GNU tbl has for decades
supported a "nospaces" region option to address precisely this
problem; unfortunately it is not portable to DWB 3.3, Plan 9, or
Solaris 10 troffs, and I suspect not to _any_ surviving System V
troff.
Fixes warning from tbl(1) in groff 1.23.0:
locate/locate.1:289: warning: table wider than line length minus indentation
[1] man(7) implementations are historically inconsistent with respect to
whether a `TS` macro call should put any vertical space on the
output, and compositional practices on the part of man page authors
have thus been, to quote Ingo Schwarze, "wildly inconsistent".
https://savannah.gnu.org/bugs/?62841
[2] "Some people do hate adjustment of nroff output, though, which is
why I added a feature to groff man(7) to support disabling it.
The history of this practice is inconsistent. Seventh Edition Unix
(1979) disabled adjustment of man pages when rendering in nroff
mode,[3] and BSD retained that disablement until death. SunOS
commented it as early as SunOS 2.0 (1985), thus restoring adjustment
in nroff mode, and retained that all the way through Solaris 10
(2005). When James Clark wrote groff starting in about 1989, his
man(7) implementation closely emulated SunOS. With the Solaris 11
release in 2010, Oracle discarded its AT&T-descended troff in favor
of the then-current groff release. [That's not quite true--see
below.] They're still on groff 1.22.2 (2013) today, and so they've
been adjusting their man pages in nroff mode for at least 40 years,
as has groff for about 35[]. I don't know what other System V
Unices did."
https://lists.gnu.org/archive/html/groff/2025-05/msg00001.html
(I made an incorrect claim in the foregoing; Solaris 11 still has
its AT&T troff around, but its man page rendering is now performed
by [an old version of] groff.)
---
locate/locate.1 | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
diff --git a/locate/locate.1 b/locate/locate.1
index 3ba6d362..9efc9e36 100644
--- a/locate/locate.1
+++ b/locate/locate.1
@@ -292,22 +292,32 @@ .SH "HISTORY"
Significant changes to
.B locate
in reverse order:
+.P
.TS
tab(|);
LL.
-4.3.7 | Byte-order independent support for old database format
-4.3.3 | locate \fI\-i\fR supports multi-byte characters correctly
- | Introduced \fI\-\-max_db_age\fR
-4.3.2 | Support for the slocate database format
-4.2.22| Introduced the \fI\-\-all\fR option
-4.2.15| Introduced the \fI\-\-regex\fR option
-4.2.14| Introduced options \fI\-L, \-P, \-H\fR
-4.2.12| Empty items in \fBLOCATE_PATH\fR now indicate the default database
-4.2.11| Introduced the \fI\-\-statistics\fR option
-4.2.4 | Introduced \fI\-\-count\fR and \fI\-\-limit\fR
-4.2.0 | Glob characters cause matching against the whole file name
-4.0 | Introduced the LOCATE02 database format
-3.7 | Locate can search multiple databases
+4.3.7|T{
+.na
+Byte-order independent support for old database format
+T}
+4.3.3|locate \fI\-i\fR supports multi-byte characters correctly
+\^|Introduced \fI\-\-max_db_age\fR
+4.3.2|Support for the slocate database format
+4.2.22|Introduced the \fI\-\-all\fR option
+4.2.15|Introduced the \fI\-\-regex\fR option
+4.2.14|Introduced options \fI\-L, \-P, \-H\fR
+4.2.12|T{
+.na
+Empty items in \fBLOCATE_PATH\fR now indicate the default database
+T}
+4.2.11|Introduced the \fI\-\-statistics\fR option
+4.2.4|Introduced \fI\-\-count\fR and \fI\-\-limit\fR
+4.2.0|T{
+.na
+Glob characters cause matching against the whole file name
+T}
+4.0|Introduced the LOCATE02 database format
+3.7|Locate can search multiple databases
.TE
.
.SH "BUGS"
--
2.30.2
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEh3PWHWjjDgcrENwa0Z6cfXEmbc4FAmkdPVsACgkQ0Z6cfXEm bc4jDw/+Ls3d/GBHpTsq0i4mt3ebiqdAJJ/66WzLFRAl4c10/6kekGq+toXZHmGr pubx1NLUGyOJMNcfImguZ6esaplMSqhul+V+q/o9EnTTvMbvwWF/ntHMZOvZflEx yklP5DPBePVkAri2euvYMSXPYsAiObn/aKpns01gOnZ+Q7DJI6Uo1XJQ+JyfJ1rg IxRyxS9JImFcz4hW0fl1/1IZNmcUoRgPo3w+ISKQALhpr62pcBM9I8eIg/GKiG1a W5SYTG96Qb6ccuIZu4u8dv5shDHDfDeOAw8QJmtu2+X5K81ZkYX1p1YMIlqwGOnL 12HRvgEV/0LSSC0UUeICsUiVSuraauAmgV2pTKiAlD4mJeAnlS8VxcQy3O0t3Sjc LRiuay5XHBos7MXF2EFLQLeot9HglMjO2AGSiTRZzwYkAfFqURHJ/5foVK56JI33 YtvgQf7WHhfYWbryTCa2GHRvwZkUKg6McJ/4t/SFRrC+S2qng2OMaQVnqRpenaAm Yn3Kkc9Z75ob4A7PIptHiRLw5J0/AVEHg9+CazfQqS8CIftQN7STKosuDdS0qMAD kKgNrp6tEpqtbSmQD8FekPkVEp7nPUuV8Tm6JnT2yKb8Gyx5J5r1MuvXAcR7wh15 LpY0mvN6yaSopPeF903yr3VP94gyHMAOqTc/eMf0ej+v0/J//4M= =z6Vn -----END PGP SIGNATURE-----