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

From: Drew Adams <[email-masked]>
Date: Fri, 9 Jun 2017 14:05:07 -0700 (PDT)

> That this advice, applied to message in Emacs <26, would strip the %
> from %` and %' in format strings.  So that, for example, the format
> string "%`%s%'" would get converted to "`%s'" for older Emacsen.

I suppose it's better than nothing.  But I prefer to continue to ask
that Emacs come to its senses about this whole quote-beautification
exercise.

> > A user, including a Lisp user, should be able to write ' or ` and
> > get what s?he writes.  No behind-the-scenes application of makeup.
> > No prettying-up at all - you write ' and you get '.  Simple. Clear.
> > Lovely. Useful.  No need for high-heels.
> 
> I agree with you completely, which is why I am proposing this amendment.

You're accepting being automatically dressed up in high-heels,
but you're proposing a set of overshoes that you can slip on
over them, to cancel their effect.

I'm still asking that we reverse course on the high-heels
masquerade.  It was misguided, and it seems quite unemacsy,
to me.

> > Sorry, but I cannot be in favor of this proposal, as I understand
> > it so far.
> 
> That puzzles me, since we seem to agree about everything else on this
> issue.

See above.  It may be better than nothing, but I'm still hoping
that Emacs will come to its senses about this.

> > It's fine to provide easy ways to _allow_ for different kinds of
> > quote translation.  But quote chars (including but not limited to
> > ` and ') should NOT be translated by default.
> 
> This is what I am proposing: a ` or ' in the format string should stand
> for itself, like any other character bar %.

I agree with that, of course.  It was a mistake to silently, and
by default, make `message' handle other chars specially.

> %` would get translated either to itself or a curly quote,
> depending on the user's settings.

User settings or code settings or both?  Libraries need to be
able to control the behavior by code.  And users need to be
able to control it too.  (And conflicts need to be resolved.)

So far, I intend to just bind `text-quoting-style' around code
I'm interested in giving sane behavior.  (But I'm not against
having an advice that does essentially that for `format'.)

> > By default, chars should be respected for what they are.  Emacs
> > should not substitute other chars just because someone working
> > on Emacs development considered the substitute chars prettier
> > or more modern.  That's nuts.  One overly zealous coder wreaked
> > havoc, and we'll be wrestling with the result for a long time.
> 
> I agree with you.  In message format strings, % should be _the_ special
> character.  We need one.  We don't need more than one.

And we should not have more than one.

Note that with `text-quoting-style' we already have a way to
reach inside `format' etc. and change the behavior.  But I'm
not against that - the scope can be controlled.