diff options
author | G. Branden Robinson <g.branden.robinson@gmail.com> | 2023-02-12 14:10:59 -0600 |
---|---|---|
committer | G. Branden Robinson <g.branden.robinson@gmail.com> | 2023-02-12 14:13:37 -0600 |
commit | 0a90a2cef530b662b25ea5da23617380dcd3607e (patch) | |
tree | 0a331101656a49628e1fada1893ce2bfd965e0b2 /man | |
parent | 837a25eda708c451ce418e597efb93d15a8da892 (diff) | |
download | groff-git-0a90a2cef530b662b25ea5da23617380dcd3607e.tar.gz |
[docs]: Fix Savannah #68216.
[docs]: Re-re-christen 'ESCAPE_AMPERSAND' ('\&'). Now call it a
(non-transparent) "dummy character". Also rechristen
'ESCAPE_RIGHT_PARENTHESIS', ('\)') as the "transparent dummy character";
it has no impact on sentence-ending detection.
* doc/groff.texi:
* doc/meref.me.in:
* man/groff.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/preproc/refer/refer.1.man:
* tmac/groff_man.7.man.in: Do it.
Fixes <https://savannah.gnu.org/bugs/?62816>. Thanks to Dave Kemper for
the report and to the groff mailing list for the vigorous discussion. I
don't expect my solution to please everyone.
Also update references to the \& escape sequence in comments.
ANNOUNCE: Update bug counts.
Diffstat (limited to 'man')
-rw-r--r-- | man/groff.7.man | 49 | ||||
-rw-r--r-- | man/groff_diff.7.man | 28 | ||||
-rw-r--r-- | man/roff.7.man | 6 |
3 files changed, 70 insertions, 13 deletions
diff --git a/man/groff.7.man b/man/groff.7.man index bfa93f94e..66ca0089a 100644 --- a/man/groff.7.man +++ b/man/groff.7.man @@ -1860,6 +1860,49 @@ See section \[lq]Implementation differences\[rq] in . . .\" ==================================================================== +.SH "Dummy characters" +.\" ==================================================================== +. +.\" BEGIN Keep (roughly) parallel with groff.texi node "Dummy +.\" Characters". +As discussed in +.MR roff @MAN7EXT@ , +the first character on an input line is treated specially. +. +Further, +formatting a glyph has many +consequences on formatter state +(see section \[lq]Environments\[rq] below). +. +Occasionally, +we want to escape this context or embrace some of those consequences +without actually rendering a glyph to the output. +. +.B \[rs]& +interpolates a dummy character, +which is constitutive of output but invisible. +. +Its presence alters the interpretation context of a subsequent input +character, +and enjoys several applications: +preventing the insertion of extra space after an end-of-sentence +character, +preventing interpretation of a control character at the beginning of an +input line, +preventing kerning between two glyphs, +and permitting the +.B tr +request to remap a character to nothing. +. +.B \[rs]) +works as +.B \[rs]& +does, +except that it does not cancel a pending end-of-sentence state. +.\" END Keep (roughly) parallel with groff.texi node "Dummy Characters". +. +. +.\" ==================================================================== .SH "Control structures" .\" ==================================================================== . @@ -4515,13 +4558,13 @@ Move one-twelfth em to the right on typesetters. . .TP .ESC & -Non-printing input break. +Interpolate a dummy character. . . .TP .ESC ) -Non-printing input break, -transparent to end-of-sentence recognition. +Interpolate a dummy character that is transparent to end-of-sentence +recognition. . . .TP diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man index 4ba065061..6f81cd9fe 100644 --- a/man/groff_diff.7.man +++ b/man/groff_diff.7.man @@ -975,14 +975,29 @@ argument to the .B ds request. . +. .TP .B \[rs]) -Like +Interpolate a +.I transparent +dummy character\[em]one that is transparent to end-of-sentence +detection. +. +It behaves as +.BR \[rs]& , +except that .B \[rs]& -except that it behaves like a character declared with the -.B .cflags -request to be transparent for the purposes of end-of-sentence -recognition. +is treated as letters and numerals normally are after +\[lq].\[rq], +\[lq]?\[rq], +and +\[lq]!\[rq]; +.B \[rs]& +cancels end-of-sentence detection, +and +.B \[rs]) +does not. +. . .TP .BI \[rs]*[ "xxx arg1 arg2\~"\c @@ -4442,8 +4457,7 @@ is If the font description file contains pairwise kerning information, glyphs from that font are kerned. . -Kerning between two glyphs can be inhibited by placing a non-printing -input break +Kerning between two glyphs can be inhibited by placing a dummy character .B \[rs]& between them. . diff --git a/man/roff.7.man b/man/roff.7.man index e55f2dcdc..80831970b 100644 --- a/man/roff.7.man +++ b/man/roff.7.man @@ -183,7 +183,7 @@ or one of them is followed by two spaces on the same input line, it appends an inter-word space followed by an inter-sentence space in the formatted output. . -The non-printing input break escape sequence +The dummy character escape sequence .B \[rs]& can be used after an end-of-sentence character to defeat end-of-sentence detection on a per-instance basis. @@ -411,8 +411,8 @@ If you require a formatted period or apostrophe where .\" GNU @code{troff} the formatter is expecting a control character, -prefix the dot or neutral apostrophe with the non-printing input break -escape sequence, +prefix the dot or neutral apostrophe with the dummy character escape +sequence, .RB \[lq] \[rs]& \[rq]. . . |