Commit e8f0d7dc authored by Alan Mackenzie's avatar Alan Mackenzie

Backport: Remove an ambiguity from defvar's doc string. Fixes bug #25292.

The ambiguity was whether INITVALUE is evaluated when it's not going to be
used to set SYMBOL's value.

* src/eval.c (defvar): Rewrite a paragraph of the doc string.

(cherry picked from commit 8295e97f)
parent af1b1026
......@@ -704,10 +704,11 @@ can be referred to by the Emacs help facilities and other programming
tools. The `defvar' form also declares the variable as \"special\",
so that it is always dynamically bound even if `lexical-binding' is t.
The optional argument INITVALUE is evaluated, and used to set SYMBOL,
only if SYMBOL's value is void. If SYMBOL is buffer-local, its
default value is what is set; buffer-local values are not affected.
If INITVALUE is missing, SYMBOL's value is not set.
If SYMBOL's value is void and the optional argument INITVALUE is
provided, INITVALUE is evaluated and the result used to set SYMBOL's
value. If SYMBOL is buffer-local, its default value is what is set;
buffer-local values are not affected. If INITVALUE is missing,
SYMBOL's value is not set.
If SYMBOL has a local binding, then this form affects the local
binding. This is usually not what you want. Thus, if you need to
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment