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

From: Michael Heerdegen <[email-masked]>
Date: Mon, 20 Apr 2020 02:25:46 +0200

Paul Eggert <[email-masked]> writes:

> On 4/19/20 3:29 PM, Michael Heerdegen wrote:
> >> -  A program should not attempt to modify a constant because the
> >> + Modifying a constant symbol signals an error (@pxref{Constant
> >> Variables}).
> >> +A program should not attempt to modify other types of constants
> >> because the
> > Do you speak about symbols or the binding of symbols here?
>
> I meant the symbol's value (what symbol-value returns). I could change
> the wording to "Modifying the value of a constant symbol..."

This can be confused with variables declared with `defconst' - these are
declared constants but it is possible to change their bindings.  You are
speaking about self-evaluating symbols like nil and t, right?  Because
all symbols are constants, try to change the symbol `foo', there is no
way to change it in any way from Lisp.  But you can evaluate it, and the
binding is not always the same, unlike self-evaluating symbols like nil
or :keyword.

Michael.