bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#40671: [DOC] modify literal objects


From: Paul Eggert
Subject: bug#40671: [DOC] modify literal objects
Date: Tue, 28 Apr 2020 12:20:21 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

On 4/28/20 11:46 AM, Dmitry Gutov wrote:

> That sounds like something we have to fix.

Yes, absolutely, though we can't feasibly do that before the next release.

> That's not a constant, that's an eldritch abomination.

I say "constant", you say "eldritch". :-)

> Using semantics that might be "slightly familiar"
> only to grizzled C programmers is also bad.

It's not just "slightly familiar" to grizzled C/C++/etc. programmers. It's a
concept that's pretty much part of their daily lives.

> There is a particular kind of values called fizzleworp (see {String 
> literals}, {Quote} and {Backquote}), which are dangerous to modify.

Let's not go that route. It'd be overdocumenting internal details that are not
generally known. I don't know all the details, so I couldn't write all that
documentation without a lot of nontrivial investigation. And these details are
likely to change so users should not rely on them anyway.

Instead of going out into the wilderness and tagging and identifying each dragon
and its lair, the documentation should keep things simple and merely say "there
are dragons out in the wilderness; you shouldn't go there". This is much simpler
and easier to understand and maintain, and is safer overall.

> Lisp form literals, and any members of such forms. I might be forgetting 
> something, but this list is not too long, is it? 

Yes the list isn't *that* long, and it's in the documentation already - as long
as we are willing to put up with a conservative list (e.g., you shouldn't modify
anything in the list) rather than insisting on an exhaustive list (e.g., here's
what happens if you try to modify X, here's what happens if you try to modify Y,
etc.).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]