]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove an ambiguity from defvar's doc string. Fixes bug #25292.
authorAlan Mackenzie <acm@muc.de>
Thu, 29 Dec 2016 20:52:02 +0000 (20:52 +0000)
committerAlan Mackenzie <acm@muc.de>
Thu, 29 Dec 2016 20:52:02 +0000 (20:52 +0000)
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.

src/eval.c

index e50e26a11d2ab61a5a23cc48fc952f06881ff958..240b0ff380f6e68e0cdad457528412b45a30471b 100644 (file)
@@ -716,10 +716,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