Subject: bug#40671: [DOC] modify literal objects

From: Paul Eggert <[email-masked]>
Date: Tue, 28 Apr 2020 16:10:53 -0700

On 4/28/20 2:10 PM, Dmitry Gutov wrote:
> On 28.04.2020 23:09, Paul Eggert wrote:
>> The meaning used in the Elisp manual is reasonably close to its meaning in
>> C/C++/Fortran/Common Lisp/etc., and that describes how Emacs behaves now.
> 
> As we've pointed out, Elisp is a wildly different beast from C.

And Elisp is also wildly different from Common Lisp, for some interpretation of
"wildly different". But it's close enough in this area. I don't see why we
should depart from terminology used by C/C++/Fortran/Common Lisp/etc.; it's
reasonably well-established.

>> I thought you were saying that we should distinguish among the types of
>> constants and should say what happens when you modify each type.

> Among the types of mutable values. Between the "normal" and "do not touch" ones. 

The "do not touch" values are called "constants" in the documentation now, just
as they are in the documentation for the other languages. I don't see why values
that should not change should be called "mutable".

And even if we called these values "mutable", I don't see why the documentation
should distinguish among the various types of "mutable" values that should not
change. The whole area is messy and differs from release to release and from
platform to platform. Programs should not change values-that-should-not-change
and we shouldn't try to catalog what happens if programs do what they shouldn't,
since it's complicated and we often don't even know what'll happen.

Generally speaking, the Elisp documentation should just say "you shouldn't
change these objects", like it does for C/C++/etc.

> Could you first provide the list of your commits that changed the manual
> pertaining to this discussion?

You can run this shell command in the emacs-27 branch.

git log --author=eggert --since='Apr 18 12:59:17 2020 -0700'

> Write that line between fizzleworp and non-fizzleworp values.

I don't understand this remark.