Subject: bug#23425: master branch: `message' wrongly corrupts ' to curly quote.

From: Paul Eggert <[email-masked]>
Date: Tue, 3 May 2016 13:49:26 -0700

On 05/03/2016 01:03 PM, Alan Mackenzie wrote:
> On Tue, May 03, 2016 at 07:55:45PM +0300, Eli Zaretskii wrote:
>> No, I have nothing against that.
> OK, I'll do that later.

I gave this a shot by installing the attached; please feel free to 
improve it.

> I'm still a
> little confused over whether a left ASCII quote (`) might get converted
> into a right ASCII or curly quote.

Grave accent (`) might be left alone or converted to apostrophe (') or 
converted to left single quotation mark (‘), depending on whether 
text-quoting-style is ‘grave’, ‘straight’, or ‘curve’, respectively. 
Grave accent is never converted to right single quotation mark (’).

 > I mean make this conversion optional and configurable, as in the
 > patch in my last post.

This conversion already configurable, in the sense that one can use 
either (setq text-quoting-style 'grave) or (setq text-quoting-style 
'straight) to get behavior that would have worked for the use case that 
prompted this bug report. I haven't seen a realistic use case to 
motivate the proposed extra complexity of another configuration option here.

> I don't think that is clearly documented anywhere.

The current version of the documentation says the following. If this is 
not clear enough, we should improve it so that it is clear.

@item ‘
@itemx `
(left single quotation mark and grave accent) both stand for a left quote.
This generates a left single quotation mark, an apostrophe, or a grave
accent depending on the value of @code{text-quoting-style}.

@item ’
@itemx '
(right single quotation mark and apostrophe) both stand for a right quote.
This generates a right single quotation mark or an apostrophe
depending on the value of @code{text-quoting-style}.

...

@defvar text-quoting-style
@cindex curved quotes
@cindex curly quotes
The value of this variable is a symbol that specifies the style Emacs
should use for single quotes in the wording of help and messages.
If the variable's value is @code{curve}, the style is
@t{‘like this’} with curved single quotes.  If the value is
@code{straight}, the style is @t{'like this'} with straight
apostrophes.  If the value is @code{grave}, the style is @t{`like
this'} with grave accent and apostrophe, the standard style
before Emacs version 25.  The default value @code{nil}
acts like @code{curve} if curved single quotes are displayable, and
like @code{grave} otherwise.