Subject: bug#25462: Out of date doc string for "`".

From: Alan Mackenzie <[email-masked]>
Date: Wed, 18 Jan 2017 20:55:25 +0000

Hello, John.

On Tue, Jan 17, 2017 at 01:17:27PM -0800, John Mastro wrote:
> Noam Postavsky <[email-masked]> wrote:
> > On Mon, Jan 16, 2017 at 4:30 PM, Alan Mackenzie <[email-masked]> wrote:
> >> Hello, Emacs.

> >> The doc string for "`" has become partial.

> >> It fails to mention that "`" has a radically different meaning when used
> >> in certain parts of a `pcase', and probably quite a few other similar
> >> macros.

> > I don't think that makes sense. Similarly, we don't add a mention of
> > `cl-loop's use of `if' in the docstring of `if', because that's not
> > part of the `if' special form. It's just a use of `if' as a plain
> > symbol.

> Since the misunderstanding is believing that "`" is more special than it
> is, maybe something calling out its ordinariness could be appropriate
> (and throw in a reference to pcase as an example?)

"`" is very special.  So special, indeed, that its syntax is handled by
the Lisp reader.

> I don't think this is great, but, as an example:

>     Note that `\\=`' is any ordinary Lisp symbol and thus may be treated
>     as data or given different meanings in particular contexts. For
>     instance, it has a special meaning inside `pcase' patterns.

I think that's objectively wrong.  "`" isn't an ordinary Lisp symbol,
it's a reader macro which is handled in the reader.  There aren't many
of these macros, and only a very few in normal use.

Besides, we don't want to encourage people to reuse existing symbols for
unconnected purposes.

-- 
Alan Mackenzie (Nuremberg, Germany).