gbranden pushed a commit to branch master
in repository groff.
commit 28f74fc16fd882ec46d9f62c255f7282c6d3e6f2
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sat Aug 22 13:09:34 2026 -0500
[doc,man]: Update "Other differences" sections.
Content:
* Elaborate on the travails of font selection escape sequence usage.
* Document AT&T troff's Y2K bug. The `yt` register itself isn't a
difference, but groff's replacement for it is.
* There is no single "AT&T implementation" of troff, but rather at least
four versions in circulation, all ultimately descended from Ossanna
troff via Kernighan's device-independent revision.
* Add backward/cross reference to "Manipulating Hyphenation" section
presenting the varying hyphenation modes required by different
languages (groff locales).
* Speak of "GNU troff", not "the formatter", when presenting features
specific to our implementation.
* Restrict claim of "no such thing as a space character" to GNU troff
_output_; that is, in the page description language.
Style:
* Fix missing `@noident` Texinfo command before resuming a paragraph
interrupted by an example.
---
doc/groff.texi.in | 36 ++++++++++++++++++++++++++++++------
man/groff_diff.7.man | 45 ++++++++++++++++++++++++++++++++++++++++-----
2 files changed, 70 insertions(+), 11 deletions(-)
diff --git a/doc/groff.texi.in b/doc/groff.texi.in
index 0b7e27920..40c06fc74 100644
--- a/doc/groff.texi.in
+++ b/doc/groff.texi.in
@@ -24346,14 +24346,18 @@ and Solaris
@command{troff}s @c DWB, Plan 9, Solaris
set it in roman.
The only way to determine if a font selection operation succeeded
-in the latter group of formatters
+in the latter
+@command{troff}s @c generic
is to save the value of the
@code{.f}
register prior to attempting the change,
make the attempt,
then compare the saved value to the current one;
if they differ,
-the font selection presumably succeeded.
+the font selection presumably succeeded.@footnote{@command{mandoc}
+does not implement a
+@code{.f}
+register.}
Since doing so requires
@code{nr}
and
@@ -24365,6 +24369,19 @@ such a procedure cannot be performed amid
@code{\f}
sequences on an input line.
+@acronym{AT&T}
+@code{troff}'s @c AT&T
+@code{yr}
+register has a Y2K bug;
+GNU
+@command{troff} @c GNU
+simulates the bug for consistency due to its widespread usage,
+but provides an alternative register implementing
+@acronym{AT&T}'s
+@emph{documented}
+semantics;
+recall @ref{Host System Service Access}.
+
Formatters that don't implement
GNU
@command{troff} @c GNU
@@ -24455,12 +24472,15 @@ GNU
sets the automatic hyphenation mode to the value of the
@code{.hydefault}
register;
-the @acronym{AT&T} implementation sets it to
+@acronym{AT&T}
+@command{troff} @c AT&T
+sets it to
@samp{1},
which is not suitable in GNU
@command{troff}
for some languages,
including English.
+Recall the table in @ref{Manipulating Hyphenation}.
GNU
@command{troff} @c GNU
@@ -24532,8 +24552,10 @@ request,
permitting initial embedded spaces in it,
and reads it to the end of the input line in copy mode.
Recall @ref{Copy Mode}.
-This difference permits the formatter to handle files
-with spaces in their names,
+This difference permits
+GNU
+@command{troff} @c GNU
+to handle files with spaces in their names,
but requires more care with trailing comments,
and doubling of an initial neutral double quote
@samp{"}
@@ -24556,6 +24578,7 @@ inverting its truth value with each occurrence.
@error{} false
@endExample
+@noindent
AT&T
@command{troff} @c AT&T
regards the foregoing conditional expression as malformed
@@ -24804,7 +24827,8 @@ and populate diversions
(recall @ref{Diversions}).
There is no such thing as a space character in
GNU
-@command{troff}. @c GNU
+@command{troff} @c GNU
+output.
Formatting converts characters into
(sequences of)
glyphs.
diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
index 118f5b6c7..0adf61a7d 100644
--- a/man/groff_diff.7.man
+++ b/man/groff_diff.7.man
@@ -6858,7 +6858,8 @@ and
do not.
.
The only way to determine if a font selection operation succeeded
-in the latter group of formatters
+in the latter
+.IR troff s \" generic
is to save the value of the
.B .f
register prior to attempting the change,
@@ -6867,6 +6868,11 @@ then compare the saved value to the current one;
if they differ,
the font selection presumably succeeded.
.
+.RI \%( mandoc
+does not implement a
+.B .f
+register.)
+.
Since doing so requires
.B nr
and
@@ -6880,6 +6886,23 @@ sequences on an input line.
.
.
.P
+AT&T
+.IR troff 's \" AT&T
+.B yr
+register has a Y2K bug;
+GNU
+.I troff \" GNU
+simulates the bug for consistency due to its widespread usage,
+but provides an alternative register implementing
+AT&T's
+.I documented
+semantics;
+see
+.B \[rs]n[year]
+in subsection \[lq]New registers\[rq] above.
+.
+.
+.P
Formatters that don't implement
GNU
.I troff \" GNU
@@ -6996,13 +7019,22 @@ GNU
sets the automatic hyphenation mode to the value of the
.B \%.hydefault
register;
-the AT&T implementation sets it to
+AT&T
+.I troff \" AT&T
+sets it to
.RB \[lq] 1 \[rq],
which is not suitable in GNU
.I troff \" GNU
for some languages,
including English.
.
+See the table in the \[lq]Manipulating Hyphenation\[rq] section
+of
+.IR "Groff: The GNU Implementation of troff" ,
+the
+.I groff
+Texinfo manual.
+.
.
.P
GNU
@@ -7060,8 +7092,10 @@ to the
request,
permitting initial embedded spaces in it,
and reads it to the end of the input line in copy mode.
-This difference permits the formatter to handle files
-with spaces in their names,
+This difference permits
+GNU
+.I troff \" GNU
+to handle files with spaces in their names,
but requires more care with trailing comments,
and doubling of an initial neutral double quote
.RB \[lq] \[dq] \[rq]
@@ -7330,7 +7364,8 @@ and populate diversions.
.
There is no such thing as a space character in
GNU
-.IR troff .\" GNU
+.I troff \" GNU
+output.
.
Formatting converts characters into
(sequences of)
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit