[PATCH 20/40] find/find.1: Access “ and ” portably.
"G. Branden Robinson" <[email protected]> Thu, 13 Nov 2025 10:48:34 -0600
| Newsgroups | gmane.comp.gnu.findutils.bugs |
|---|---|
| Message-ID | <20251113164834.m7g56d2tmrul6466@illithid> |
The `\(lq` and `\(rq` and special character escape sequences are not
universally portable.
Traditionally, AT&T troff did not bother to identify these special
characters at all; it was apparently felt that adjacently setting
directional single quotes sufficed. You can discern this fact in
materials typeset by AT&T troff by observing what one might call
generous kerning of these glyphs when used as "double" quotes.
However, someone at the Berkeley CSRG had a brainwave, and for 4BSD in
1980, added strings named `lq` and `rq` to the man(7) package so that
man pages could access double quotes by whatever means the underlying
implementation had for realizing them. This excellent idea made it into
Unix System V (1988/9), so that every surviving troff implementation
known to me, including DWB and Solaris 10, supports them--save one. The
exception is Plan 9. Fortunately, the Plan 9 from User Space
("plan9port") project accepted a patch from me on 10 October to add
support there as well.[1]
Like the \*" string, \*(lq and \*(rq should not be used in quoted macro
arguments if one desires portability to AT&T troff-descended formatters
(other than Heirloom Doctools troff); if the implementation defines
these strings such that their interpolations contain `"`, undesired
output is the likely result.
[1] https://github.com/9fans/plan9port/pull/735
---
find/find.1 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/find/find.1 b/find/find.1
index 85fe8251..a3fb3ce4 100644
--- a/find/find.1
+++ b/find/find.1
@@ -2792,7 +2792,7 @@ .SS Operator precedence surprises
and when there is no operator specified between tests,
.B \-a
is assumed.
-.SS \(lqpaths must precede expression\(rq error message
+.SS \*(lqpaths must precede expression\*(rq error message
.nf
.B $ find .\& \-name *.c \-print
find: paths must precede expression
--
2.30.2
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEh3PWHWjjDgcrENwa0Z6cfXEmbc4FAmkWC+IACgkQ0Z6cfXEm bc7AwQ/9EiHOZSM+q4aI+3gCJEmub6wkPiaC1ZzZJmH3z/6laspB9mUDw3QMOiCf 90PkVv2WIleVoFfl/rLXCzzLtpexoVVae0brZN8uJSIDJOViQ7TXJWXDOWdzZEjG ywKgQHqnH3cnVtZxpjVdxpUp9NhAAcPFeRXmDiRDEukzU8zYt7jQkOhFmRckEsg3 8TldCMZ61WmWcoc2+FSnQNZP8TNEEFcMaxIFipfq25xJ1Y7X8BE9uoOYUtI4SLaj 1pu+KBH1+JZKsOtmCLNj1ACx1tj9bUgqOJjYeTpeqoYXOfM1w0oWWHcAz7hAHnFw AOqmkFnh6KWlDG6PauotZyWsj8awng8uNwYcKiONRLvoOxftfuiPqD8IojIC1HRE n1Sc67wrZCJf1d24/Yd24wu818rVdz4anEG63jVKorcubFrc9r2VgIrRp7MErVc1 +wJXhgXiALvStlTO05WWlLTsp06r9xL6AM4gFlbyRn1QkHTUSnPhz7exYoXsFwiK axqtENF7TyHx5qNbHmS356jdktHEonqK+mUoq3eJWVaiLlkns7oYq0uzXh5Smo95 Xn38eRB9HVv1wr2anIEUQYgxFQAOe6U1RBwNEaQmokcIXao5vN7k9SfTS5nUJAN3 NrWp57NFBI+jpQteiTAlDHhOrYoF2KZT2GHLO8qhO8rHiAe8PPw= =HCxh -----END PGP SIGNATURE-----