From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Kevin Vigouroux via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#40671: [DOC] modify literal objects Date: Tue, 05 May 2020 22:48:44 +0200 Message-ID: <87a72mumz7.fsf@laposte.net> References: <278a1350-8b9e-4f3b-854a-723d578129f3@default> <6cbe3c10-6d81-f2be-30d7-17096b3f3517@yandex.ru> <012e8bc3-df4b-3884-4e54-5fe7ef4248cb@cs.ucla.edu> <37a54ac2-da80-ca35-9c01-38c8e12a4b5f@yandex.ru> <9375aaeb-2a9a-b307-c793-0d99328201ea@yandex.ru> <7fe0574a-62ae-94fb-2e55-1a69de6ce828@cs.ucla.edu> <91857438-f44a-90f4-dfe2-a32224ba3994@yandex.ru> <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> Reply-To: Kevin Vigouroux Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="68973"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Cc: Richard Stallman , Michael Heerdegen , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Dmitry Gutov , Drew Adams , 40671@debbugs.gnu.org To: Paul Eggert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue May 05 23:37:10 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 1jW5FV-000Hq9-T6 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 05 May 2020 23:37:10 +0200 Original-Received: from localhost ([::1]:50508 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jW5FU-0006S1-Vc for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 05 May 2020 17:37:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59170) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jW5FO-0006Rs-1U for bug-gnu-emacs@gnu.org; Tue, 05 May 2020 17:37:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54461) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jW5FN-0002EW-OT for bug-gnu-emacs@gnu.org; Tue, 05 May 2020 17:37:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jW5FN-0001wR-Mg for bug-gnu-emacs@gnu.org; Tue, 05 May 2020 17:37:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Kevin Vigouroux Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 May 2020 21:37:01 +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.15887145787415 (code B ref 40671); Tue, 05 May 2020 21:37:01 +0000 Original-Received: (at 40671) by debbugs.gnu.org; 5 May 2020 21:36:18 +0000 Original-Received: from localhost ([127.0.0.1]:37774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jW5Ed-0001vU-K8 for submit@debbugs.gnu.org; Tue, 05 May 2020 17:36:18 -0400 Original-Received: from smtpoutz26.laposte.net ([194.117.213.101]:56935 helo=smtp.laposte.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jW4Uo-0000TX-FZ for 40671@debbugs.gnu.org; Tue, 05 May 2020 16:48:55 -0400 Original-Received: from smtp.laposte.net (localhost [127.0.0.1]) by lpn-prd-vrout014 (Postfix) with ESMTP id D2E153000ED for <40671@debbugs.gnu.org>; Tue, 5 May 2020 22:48:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=laposte.net; s=mail0; t=1588711732; bh=IZN6UW9H05YGFCzHqwdZpGPP4HztqzYeGgKanRKOyqE=; h=From:To:Cc:Subject:References:Date:In-Reply-To; b=RI8phLiFmKZ74qwBlUjb71ntyf5HTe2h1qWLknXupqOPCP0SX004J5DifrSXAkO0O 8V8/EqFNVPlNWU1HLgy/JZ1NjJ2TkvMfU7k88KMPsz1xxmLAQF526+GQqC47IJUFJC tAYMseBXErnXRC2VFvqS1OY5fwKutfO+pMy1IXOZs21fkUMoH85yTL/I8o38LnK+qH MqoGovBDDEvZl43bFrKsMSmNHC3R3FflzC4BjUXOoqzqK/z9LOj9RH1HhUIZRcKsPw CMKNhUhaVFRiNVj1O4p8g9j/wHk1+x873vLUx9hEBy7i9OmlFcjR0yIS8VVtCWNJSH pKQSq/+bsspKA== Original-Received: from mlpnf0116.laposte.net (unknown [10.94.128.95]) by lpn-prd-vrout014 (Postfix) with ESMTP id CC4E53000E8 for <40671@debbugs.gnu.org>; Tue, 5 May 2020 22:48:52 +0200 (CEST) Original-Received: from outgoing-mail.laposte.net (localhost.localdomain [127.0.0.1]) by mlpnf0102.laposte.net (SMTP Server) with ESMTP id 49GsJZ0sFTz7t7l; Tue, 5 May 2020 22:48:46 +0200 (CEST) X-mail-filterd: 0.4.0.2 X-mail-filterd: 0.4.0.2 X-lpn-spamrating: 36 X-lpn-spamlevel: not-spam X-lpn-spamcause: OK, (-100)(0000)gggruggvucftvghtrhhoucdtuddrgeduhedrjeejgdduhecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfntefrqffuvffgpdfqfgfvpdggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffufhffjgfkfgggtgesthdtredttdertdenucfhrhhomhepmfgvvhhinhcugghighhouhhrohhugicuoehkvgdrvhhighhouhhrohhugieslhgrphhoshhtvgdrnhgvtheqnecuggftrfgrthhtvghrnhepgfeuleehveeugfeiudeuhedvieefffejfeeukefftdefteevudegteelgfffteejnecukfhppeeltddrfedvrdduudefrddvfeeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehhvghlohepsghluhgvmhgrnhdpihhnvghtpeeltddrfedvrdduudefrddvfeeipdhmrghilhhfrhhomhepkhgvrdhvihhgohhurhhouhigsehlrghpohhsthgvrdhnvghtpdhrtghpthhtoheprhhmshesghhnuhdrohhrghdprhgtphhtthhopeegtdeijeduseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepmhgrthhtihgrshgvseg rtghmrdhorhhgpdhrtghpthhtohepmhhitghhrggvlhgphhgvvghruggvghgvnhesfigvsgdruggv X-lpn-mailing: LEGIT Original-Received: from blueman (arennes-256-1-114-236.w90-32.abo.wanadoo.fr [90.32.113.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mlpnf0102.laposte.net (SMTP Server) with ESMTPSA id 49GsJY1Snfz7t7m; Tue, 5 May 2020 22:48:45 +0200 (CEST) In-Reply-To: <2ca64f28-1255-4135-6e45-0f0e12b9e72d@cs.ucla.edu> (Paul Eggert's message of "Mon, 4 May 2020 10:52:18 -0700") X-Mailman-Approved-At: Tue, 05 May 2020 17:36:14 -0400 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:179773 Archived-At: Paul Eggert writes: > On 5/4/20 3:16 AM, Dmitry Gutov wrote: >> On 04.05.2020 02:10, Paul Eggert wrote: >>> The term you used was "Objects referenced from executable code". But that term >>> includes pretty much every object used in Elisp, at least until the object >>> becomes unreachable and is garbage-collected. >> >> I see. Could you present a specific counter-example, however? >> >> One where the phrasing "referenced from executable code" would apply, but "part >> of expressions that are evaluated" wouldn't. > > Pretty much any ordinary cons will do. In (let ((x (cons 0 0))) (setcar x 1)), > for example, the cons is referenced from executable code but it's OK to modify > the cons. The cons becomes unreachable when the 'let' finishes. The cons is not > part of any expression that is evaluated. > > The problem here evidently is one of terminology, not of understanding the > underlying issues. When I read "Objects referenced from executable code" I > evidently got a different meaning than what you intended. These things happen > when introducing a new terminology. Would the expression "constant form" be appropriate? Here is the definition given in the CLHS (in the glossary). Constant form: Any form for which evaluation always yields the same value, that neither affects nor is affected by the environment in which it is evaluated (except that is permitted to refer to the names of constant variables defined in the environment), and that neither affects nor is affected by the state of any object except those objects that are otherwise inaccessible parts of objects created by the form itself. For instance, a car form in which the argument is a quote form is a constant form. If I understand correctly, the problem is partially related to self-modifying code.