>From 3b200efd127a71c584dcb8942febc34021dffd22 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 10 May 2020 18:44:46 -0700 Subject: [PATCH] * doc/lispref/objects.texi (Mutability): More tweaking. --- doc/lispref/objects.texi | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index 7727a630dd..136213ad66 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi @@ -2392,10 +2392,12 @@ Mutability Although numbers never change and all markers are mutable, some types have members some of which are mutable and others not. These -types include conses, vectors, strings, and symbols. For example, +types include conses, vectors, and strings. For example, although @code{"aaa"} yields a string that should not be changed, @code{(make-string 3 ?a)} yields a mutable string that can be -changed via later calls to @code{aset}. +changed via later calls to @code{aset}. Another example: +@code{(symbol-name 'cons)} yields a string @code{"cons"} that should +not be changed. A mutable object stops being mutable if it is part of an expression that is evaluated. For example: @@ -2413,9 +2415,7 @@ Mutability reverse does not occur: an object that should not be changed never becomes mutable afterwards. - Trying to modify a constant variable signals an error -(@pxref{Constant Variables}). -If a program attempts to change other objects that should not be + If a program attempts to change objects that should not be changed, the resulting behavior is undefined: the Lisp interpreter might signal an error, or it might crash or behave unpredictably in other ways.@footnote{This is the behavior specified for languages like @@ -2424,8 +2424,8 @@ Mutability error if a program attempts to change a constant. Ideally the Emacs Lisp interpreter will evolve in latter direction.} - When the same value appears multiple times in a program, the Lisp -interpreter might save time or space by reusing existing values or + When similar constants occur as parts of a program, the Lisp +interpreter might save time or space by reusing existing constants or their components. For example, @code{(eq "abc" "abc")} returns @code{t} if the interpreter creates only one instance of the string literal @code{"abc"}, and returns @code{nil} if it creates two -- 2.17.1