doc/nethack.6: Be more portable to old roffs (3/4)

Unbreakable spaces in AT&T troff were always non-adjustable.

Define a string to use groff's `\~` extension if possible.

groff_man_style(7):
   Portability
...
     \~        Adjustable non‐breaking space.  Use this escape sequence
               to prevent a break inside a short phrase or between a
               numerical quantity and its corresponding unit(s).

                      Before starting the motor,
                      set the output speed to\~1.
                      There are 1,024\~bytes in 1\~KiB.
                      CSTR\~#8 documents the B\~language.

               \~ is a GNU extension also supported by Heirloom Doctools
               troff 050915 (September 2005), mandoc 1.9.14
               (2009‐11‐16), neatroff (commit 1c6ab0f6e, 2016‐09‐13),
               and Plan 9 from User Space troff (commit 93f8143600,
               2022‐08‐12), but not by DWB or Solaris troffs.

Fixes bad rendering in DWB 3.3 troff:

@@ -999 +999 @@
-            file.   -s|-s~-v  may  also  be  followed  by  arguments  -p
+            file.   -s|-s -v  may  also  be  followed  by  arguments  -p
@@ -1005 +1005 @@
-            entries  which  match both.  -s|-s~-v may be followed by one
+            entries  which  match both.  -s|-s -v may be followed by one

Solaris 10 troff _would_ misrender as well, but a different portability
problem keeps some of the foregoing text from rendering at all.
This commit is contained in:
G. Branden Robinson
2026-05-06 04:53:12 -05:00
parent afeec3dd65
commit 1922fb687d
+5 -2
View File
@@ -25,6 +25,9 @@
.\" Define string to exercise groff's hyphenless break point feature.
.ie \n(.g .ds : \:
.el .ds : \" empty
.\" Define string to exercise groff's adjustable, unbreakable space.
.ie \n(.g .ds _ \~
.el .ds _ \ \" backslash, space
.\" Define local versions of groff's "an-ext.tmac" macros if needed.
.ds %% \" empty
.if \n(.g .ig %%
@@ -387,7 +390,7 @@ option alone will print out the list of your scores on the current version.
An immediately following
.B \-v
reports on all versions present in the score file.
.RB \(oq \-s | \-s\~\-v \(cq
.RB \(oq \-s | \-s\*_\-v \(cq
may also be followed by arguments
.B \-p
.I profession
@@ -399,7 +402,7 @@ Either can be specified multiple times to include more than one role
or more than one race.
When both are specified, score entries which match either the role or the
race (or both) are printed rather than just entries which match both.
.RB \(oq \-s | \-s\~\-v \(cq
.RB \(oq \-s | \-s\*_\-v \(cq
may be followed by one or more player names to print the scores of the
players mentioned, by 'all' to print out all scores, or by a number to print
that many top scores.