Martin D Kealey <mar...@kurahaupo.gen.nz> writes: > I note that much of the documentation still uses a quoting style that > pretends that characters U+0060 and U+0027 are matching opening and closing > quotes, and that new documentation is still being added that follows this > style. For extra credit, they're sometimes redoubled as `` and '' to be > fake double quotes.
Are you talking about in the *.texi files? If so, that is how quoting is performed in Texinfo (and TeX, for that matter) [1]. The manual emitted from makeinfo converts them from `...' to ‘...’ and ``...'' to “...”. > The use of the grave accent symbol as if it were a quote mark is visually > asymmetric (ugly!), has semantic conflicts (including with its use as a > shell metacharacter), is in the wrong character class (for line wrapping > and hyphenation), disregards all formal specifications (Unicode-16.0.0 > (2024) still says "grave accent"), and is extremely outdated (ASA > X3.4-1963 said > "diacritic" 62 years ago). A more thorough analysis is provided by Markus > Kuhn <https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html>. > > GNU is the last serious hold-out, and "this is how we've always done it" > won't wash any more. The GNU Coding Standards began to recommend using '...' instead of `...' in the C locale since 2011. Specifically this commit in gnustandards: revision 1.211 date: 2011-12-31 23:48:43 +0000; author: karl; state: Exp; lines: +45 -29; commitid: 9veeiUxdwXD2RoNv; (Quoting Characters): recommend undirected quotes There are still some GNU packages that use `...' since they are written before that change. I'm sure that most would accept a patch if you were to submit one. Be aware it is a chore to check the current locale name and whether it is ascii. Since many systems use different names for that encoding (i.e. ASCII, 646, ANSI_X3.4-1968, IBM-367, and the list goes on). > PS: arguably I should have started this in coreutils or gnu-policy, but I'm > starting here because ` is syntactically significant to Bash, so there's > extra damage. Coreutils handles this with Gnulib's quote module [2]. See the following example: LC_ALL=C who a b c who: extra operand 'c' Try 'who --help' for more information. $ LC_ALL=en_US.UTF-8 who a b c who: extra operand ‘c’ Try 'who --help' for more information. > PPPS: If we're updating LICENCE documents, we should probably replace “(C)” > with “©” (U+00A9). I wouldn't change the license from the one that can be downloaded from gnu.org [3]. Collin [1] https://www.gnu.org/software/texinfo/manual/texinfo/texinfo.html#Inserting-Quote-Characters-1 [2] https://www.gnu.org/software/gnulib/manual/gnulib.html#Quoting-1 [3] https://www.gnu.org/licenses/