summaryrefslogtreecommitdiff
path: root/doc/lispref/symbols.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lispref/symbols.texi')
-rw-r--r--doc/lispref/symbols.texi15
1 files changed, 11 insertions, 4 deletions
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi
index a214a2d3fd8..5d71fb39a25 100644
--- a/doc/lispref/symbols.texi
+++ b/doc/lispref/symbols.texi
@@ -558,9 +558,12 @@ deleted from the local value of a hook variable when changing major
modes. @xref{Setting Hooks}.
@item pure
+@cindex @code{pure} property
If the value is non-@code{nil}, the named function is considered to be
-side-effect free. Calls with constant arguments can be evaluated at
-compile time. This may shift run time errors to compile time.
+pure (@pxref{What Is a Function}). Calls with constant arguments can
+be evaluated at compile time. This may shift run time errors to
+compile time. Not to be confused with pure storage (@pxref{Pure
+Storage}).
@item risky-local-variable
If the value is non-@code{nil}, the named variable is considered risky
@@ -579,9 +582,13 @@ The value specifies a function for determining safe file-local values
for the named variable. @xref{File Local Variables}.
@item side-effect-free
+@cindex @code{side-effect-free} property
A non-@code{nil} value indicates that the named function is free of
-side-effects, for determining function safety (@pxref{Function
-Safety}) as well as for byte compiler optimizations. Do not set it.
+side effects (@pxref{What Is a Function}), so the byte compiler may
+ignore a call whose value is unused. If the property's value is
+@code{error-free}, the byte compiler may even delete such unused
+calls. In addition to byte compiler optimizations, this property is
+also used for determining function safety (@pxref{Function Safety}).
@item variable-documentation
If non-@code{nil}, this specifies the named variable's documentation