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/

Reply via email to