Subject: bug#40693: 28.0.50; json-encode-alist changes alist

From: Drew Adams <[email-masked]>
Date: Sun, 19 Apr 2020 22:45:41 -0700 (PDT)

> > How about if we change "Modifying a constant symbol signals an
> > error..." to "Changing a self-evaluating symbol's value signals an
> > error..."?
> 
> Yes, better (though I would rather say "Trying to..." or "Attempting
> to..." - Emacs doesn't let you do this, i.e. you get the error before
> it's too late).

Yes.  It's good to explicitly say that we're talking
about changing a symbol's value here, and not just
changing a symbol.  The notion of "changing" a symbol
can mean different things to different readers.

Consider (put nil 'toto 42) or (put :foo 'toto 42).
Did we change the symbol nil or :foo, both of which
are self-evaluating?  For some meaning of "change",
we did - we changed its property list.

The message should be just that you can't change the
`symbol-value' of a self-evaluating symbol/variable.