From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#40671: [DOC] modify literal objects Date: Sun, 17 May 2020 09:21:28 -0700 Organization: UCLA Computer Science Department Message-ID: <0c35523b-9ce8-7612-2f58-ba425d96d83d@cs.ucla.edu> References: <880dc34b-46a9-0149-3c6e-0a951a70125d@cs.ucla.edu> <9c46b93e-a855-0be0-7ab0-50cb8c5cd74d@yandex.ru> <48e90f87-1519-9101-d54b-4bfd81a0c936@yandex.ru> <252d6368-ddea-2f41-b53f-cd927ebc3d1d@cs.ucla.edu> <43d93102-d361-f64b-971b-909418b89fca@yandex.ru> <2ca64f28-1255-4135-6e45-0f0e12b9e72d@cs.ucla.edu> <0c7570cb-bf52-a617-bf54-27a47c54e04a@cs.ucla.edu> <04298f7d-f2c0-5186-57d3-522e3d886166@cs.ucla.edu> <88af48c6-bc39-6ab0-59ec-7d537f2d375d@yandex.ru> <41d69e2e-561f-743a-e1f0-282b2e22b66c@cs.ucla.edu> <4ba236ce-ade0-5cd1-656a-f2df46d67d5f@cs.ucla.edu> <00ea7e60-9e47-9fce-52a7-cf66df6e180a@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="64445"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 Cc: Michael Heerdegen , ke.vigouroux@laposte.net, 40671@debbugs.gnu.org, Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Richard Stallman To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun May 17 18:26:55 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jaM7q-000GdJ-FW for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 17 May 2020 18:26:54 +0200 Original-Received: from localhost ([::1]:43236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jaM7p-0005hS-Ea for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 17 May 2020 12:26:53 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jaM39-0006TQ-Te for bug-gnu-emacs@gnu.org; Sun, 17 May 2020 12:22:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:32900) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jaM39-0006lX-Jk for bug-gnu-emacs@gnu.org; Sun, 17 May 2020 12:22:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jaM38-0006Nx-DK for bug-gnu-emacs@gnu.org; Sun, 17 May 2020 12:22:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 17 May 2020 16:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40671 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 40671-submit@debbugs.gnu.org id=B40671.158973250124514 (code B ref 40671); Sun, 17 May 2020 16:22:02 +0000 Original-Received: (at 40671) by debbugs.gnu.org; 17 May 2020 16:21:41 +0000 Original-Received: from localhost ([127.0.0.1]:44446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaM2j-0006NH-Sg for submit@debbugs.gnu.org; Sun, 17 May 2020 12:21:41 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:36122) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaM2h-0006N1-Ts for 40671@debbugs.gnu.org; Sun, 17 May 2020 12:21:36 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 6D2BB160052; Sun, 17 May 2020 09:21:30 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id i7EgSv9l7QVG; Sun, 17 May 2020 09:21:29 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 8A1581600CC; Sun, 17 May 2020 09:21:29 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id XM2UkBRidNUx; Sun, 17 May 2020 09:21:29 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 366A7160052; Sun, 17 May 2020 09:21:29 -0700 (PDT) Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkV5QWNtUUJFQURB QXlIMnhvVHU3cHBHNUQzYThGTVpFb243NGRDdmM0K3ExWEEySjJ0QnkycHdhVHFmCmhweHhk R0E5Smo1MFVKM1BENGJTVUVnTjh0TFowc2FuNDdsNVhUQUZMaTI0NTZjaVNsNW04c0thSGxH ZHQ5WG0KQUF0bVhxZVpWSVlYL1VGUzk2ZkR6ZjR4aEVtbS95N0xiWUVQUWRVZHh1NDd4QTVL aFRZcDVibHRGM1dZRHoxWQpnZDdneDA3QXV3cDdpdzdlTnZub0RUQWxLQWw4S1lEWnpiRE5D UUdFYnBZM2VmWkl2UGRlSStGV1FONFcra2doCnkrUDZhdTZQcklJaFlyYWV1YTdYRGRiMkxT MWVuM1NzbUUzUWpxZlJxSS9BMnVlOEpNd3N2WGUvV0szOEV6czYKeDc0aVRhcUkzQUZINmls QWhEcXBNbmQvbXNTRVNORnQ3NkRpTzFaS1FNcjlhbVZQa25qZlBtSklTcWRoZ0IxRApsRWR3 MzRzUk9mNlY4bVp3MHhmcVQ2UEtFNDZMY0ZlZnpzMGtiZzRHT1JmOHZqRzJTZjF0azVlVThN Qml5Ti9iClowM2JLTmpOWU1wT0REUVF3dVA4NGtZTGtYMndCeHhNQWhCeHdiRFZadWR6eERa SjFDMlZYdWpDT0pWeHEya2wKakJNOUVUWXVVR3FkNzVBVzJMWHJMdzYrTXVJc0hGQVlBZ1Jy NytLY3dEZ0JBZndoU In-Reply-To: <00ea7e60-9e47-9fce-52a7-cf66df6e180a@yandex.ru> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:180480 Archived-At: On 5/17/20 5:39 AM, Dmitry Gutov wrote: > An existence of a technical term doesn't really cancel out the regular meaning > of the word. I continue to be skeptical that "constraints are always enforced" is the regular meaning of the word "constraints" in computing. Lots of constraints are not enforced in the computing world. Internet RFCs are a classic example: "Be liberal in what you accept" means "Don't enforce constraints". But again, we are straying from the point at hand, as the word "constraints" isn't used in the documentation when talking about mutability. > 1. You seem to be trying to redefine the term "motable" as a way to avoid > enumerating all possible cases. That is a normal practice for definitions, and this practice increases the utility of the documentation. The Emacs manual defines "string" without enumering all possible cases of strings (whether they come from the program text, or from reading input, or from symbol-name, etc.) because enumerating all cases would be bloat that would cause more harm than good. Similarly, the manual defines "mutable" without defining all possible cases of mutable objects. > 2. symbol-name seems like something we don't have to explain specially. I don't understand this comment. symbol-name is just an example. It's helpful to have an example or two, even if they're not absolutely required. > There's an argument to be made that the name of the symbol 'cons is part of any > expression or program that uses `cons'. Sure, and that argument is part of any bigger project to document more about mutability ("covering all the cases" in some way). This would not be a trivial project, and it's not something we have to do today. > My intuition, though, that making cases like the one you just changed in emacs-lisp-mode-tests.el blow up at runtime will create a massive backward incompatibility. I'm sure there are compatibility issues. But we already have those issues: an Elisp program that modifies a string constant is already "broken" in that it's making assumptions that have never been documented and are sometimes not true even now. Emacs used to have some runtime checking for this bug but it doesn't now, and when we reinstitute checking we will undoubtedly shake out some latent bugs in user code.