summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorG. Branden Robinson <g.branden.robinson@gmail.com>2023-02-12 14:10:59 -0600
committerG. Branden Robinson <g.branden.robinson@gmail.com>2023-02-12 14:13:37 -0600
commit0a90a2cef530b662b25ea5da23617380dcd3607e (patch)
tree0a331101656a49628e1fada1893ce2bfd965e0b2 /man
parent837a25eda708c451ce418e597efb93d15a8da892 (diff)
downloadgroff-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.man49
-rw-r--r--man/groff_diff.7.man28
-rw-r--r--man/roff.7.man6
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].
.
.