Subject: RE: bug#8935: 24.0.50; `substitute-command-keys' doc

From: "Drew Adams" <[email-masked]>
Date: Fri, 15 Jul 2011 12:18:44 -0700

> > What is true is that \ by itself (not followed by [, =, 
> > etc.) does not _NEED_ to be escaped.  But it is certainly true
> > that \= escapes \, whether it needs to in any given context
> > (e.g. \[) or not (e.g. \abc).  If it escapes a \ that does not
> > need escaping, the effect is a no-op.
> 
> Uhm.  Now I'm even more confused.
> 
> "\=\e" will print as "\e"?  Right?

Right.

> So it's not a noop,

It's a no-op in the sense that it does nothing.  Of course, it is still the case
that, as the doc string says, the \= itself "is discarded".  What remains is the
\ that was escaped.

Not sure what your confusion is.  \= escapes the char that follows it.  What
does escaping mean in this context?  Preventing \ from having any special
behavior when it precedes =, [, etc.

The point is that it is not the pair of characters \=, \[, etc. that is escaped.
\ is the only char escaped: it is prevented from doing anything special; it just
appears in the output as is.  Because \ gets escaped, it has no special
`substitute-command-keys' effect on what follows it, whatever that might be.

> and the fix I applied was correct.

Dunno what it was.

What I described is a proper fix, IMO.