diff options
| author | g-branden-robinson <91402745+g-branden-robinson@users.noreply.github.com> | 2022-08-12 22:37:28 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-12 23:37:28 -0400 |
| commit | 93f814360076ccf28d33c9cb909fca7200ba4a7d (patch) | |
| tree | f6faaef72b36bc2a5e4f103b2a872f89c303e26f /src | |
| parent | 506de8f6d4acedcb5b30f841611e6a4d95ce0feb (diff) | |
troff: support `\~` as an alias for `\ ` (#567)
In groff, Heirloom Doctools troff, and neatroff, the `\~` escape
sequence produces an adjustable (paddable) but unbreakable space.
mandoc, which does not perform adjustment or render to typesetters,
supports the escape sequence as a synonym for `\ `, the same as `\0`.
This extension is of long pedigree: groff has supported it for at least
30 years, Heirloom for 17, mandoc for 13, and neatroff for 6.
Do the same as mandoc to prevent mis-rendering of documents using this
escape sequence. Heirloom Doctools troff, a descendant of Documenter's
Workbench troff, would be a good place to look for a compatible
implementation of the adjustable semantics for this sequence.
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/troff/n1.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cmd/troff/n1.c b/src/cmd/troff/n1.c index adda8c4b..27496b2f 100644 --- a/src/cmd/troff/n1.c +++ b/src/cmd/troff/n1.c @@ -512,6 +512,8 @@ g0: case '\n': /* concealed newline */ numtabp[CD].val++; goto g0; + case '~': /* Heirloom/groff/neatroff: unbreakable space */ + ; /* fall through */ case ' ': /* unpaddable space */ i = UNPAD; goto gx; |