On 10/21/2015 03:23 PM, D. Hugh Redelmeier wrote:
Several of us don't want UTF-8 quotation marks in diagnostics in our
environment (Jove subshells).  We'd like a way to turn them off.  We don't
think that they are a bad idea but they are bad in our environment.

<https://gcc.gnu.org/gcc-4.0/changes.html>

        English-language diagnostic messages will now use Unicode
        quotation marks in UTF-8 locales. (Non-English messages
        already used the quotes appropriate for the language in
        previous releases.) If your terminal does not support UTF-8
        but you are using a UTF-8 locale (such locales are the default
        on many GNU/Linux systems) then you should set LC_CTYPE=C in
        the environment to disable that locale. Programs that parse
        diagnostics and expect plain ASCII English-language messages
        should set LC_ALL=C. See Markus Kuhn's explanation of Unicode
        quotation marks for more information.

This suggests that LC_CTYPE=C would do what we want: go back to ` and
' instead of 342\200\230 and \342\200\231.

That would go against the usual (i.e., POSIX) expected effect
of the environment variable.  Specifically for GCC (or the c99
utility), POSIX requires LC_CTYPE to determine the locale used
to parse the input, and LC_MESSAGE to determine the locale of
diagnostic messages.  If the c99 utility on your system doesn't
honor that I would recommend opening a bug.

Martin

Reply via email to