aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2011-09-16 10:14:48 -0400
committerStefan Monnier <[email protected]>2011-09-16 10:14:48 -0400
commit91a15bc634398fbf5092d4116022d45bc2ec3784 (patch)
tree39720ae0a80b9ef98ce3ad9d86b5df6c40c0d43a /src
parente69df5166910ac0581c1ae66159b741294904006 (diff)
* src/eval.c (Fquote): Document its non-consing behavior.
Fixes: debbugs:9482
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/eval.c8
2 files changed, 12 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index cf75c28c38..9ce2629d44 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2011-09-16 Stefan Monnier <[email protected]>
+
+ * eval.c (Fquote): Document its non-consing behavior (bug#9482).
+
2011-09-16 Eli Zaretskii <[email protected]>
* image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
diff --git a/src/eval.c b/src/eval.c
index 57a273cd4a..32b9d366fc 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -475,6 +475,14 @@ usage: (setq [SYM VAL]...) */)
DEFUN ("quote", Fquote, Squote, 1, UNEVALLED, 0,
doc: /* Return the argument, without evaluating it. `(quote x)' yields `x'.
+Warning: `quote' does not construct its return value, but just returns
+the value that was pre-constructed by the Lisp reader (see info node
+`(elisp)Printed Representation').
+This means that '(a . b) is not identical to (cons 'a 'b): the former
+does not cons. Quoting should be reserved for constants that will
+never be modified by side-effects, unless you like self-modifying code.
+See the common pitfall in info node `(elisp)Rearrangement' for an example
+of unexpected results when a quoted object is modified.
usage: (quote ARG) */)
(Lisp_Object args)
{