]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/custom.el (defcustom): Another doc fix.
authorChong Yidong <cyd@gnu.org>
Mon, 6 Feb 2012 12:48:07 +0000 (20:48 +0800)
committerChong Yidong <cyd@gnu.org>
Mon, 6 Feb 2012 12:48:07 +0000 (20:48 +0800)
lisp/custom.el

index a879c7f76a005b7793c7e4d3d208dabcb32160a2..2d880d23955ab9a5bc8549e0f9eaa4ab2ea4d405 100644 (file)
@@ -198,14 +198,14 @@ set to nil, as the value is no longer rogue."
   (run-hooks 'custom-define-hook)
   symbol)
 
-(defmacro defcustom (symbol value doc &rest args)
-  "Declare SYMBOL as a customizable variable that defaults to VALUE.
+(defmacro defcustom (symbol standard doc &rest args)
+  "Declare SYMBOL as a customizable variable.
 SYMBOL is the variable name; it should not be quoted.
-VALUE is an expression specifying the variable's standard value.
-This expression should not be quoted.  It is evaluated once by
+STANDARD is an expression specifying the variable's standard
+value.  It should not be quoted.  It is evaluated once by
 `defcustom', and the value is assigned to SYMBOL if the variable
-is unbound.  The expression may also be re-evaluated by Customize
-whenever it needs to get the variable's standard value.
+is unbound.  The expression itself is also stored, so that
+Customize can re-evaluate it later to get the standard value.
 DOC is the variable documentation.
 
 The remaining arguments should have the form
@@ -324,14 +324,15 @@ for more information."
   `(custom-declare-variable
     ',symbol
     ,(if lexical-binding    ;FIXME: This is not reliable, but is all we have.
-         ;; The `default' arg should be an expression that evaluates to
-         ;; the value to use.  The use of `eval' for it is spread over
-         ;; many different places and hence difficult to eliminate, yet
-         ;; we want to make sure that the `value' expression is checked by the
-         ;; byte-compiler, and that lexical-binding is obeyed, so quote the
-         ;; expression with `lambda' rather than with `quote'.
-         `(list (lambda () ,value))
-       `',value)
+         ;; The STANDARD arg should be an expression that evaluates to
+         ;; the standard value.  The use of `eval' for it is spread
+         ;; over many different places and hence difficult to
+         ;; eliminate, yet we want to make sure that the `standard'
+         ;; expression is checked by the byte-compiler, and that
+         ;; lexical-binding is obeyed, so quote the expression with
+         ;; `lambda' rather than with `quote'.
+         `(list (lambda () ,standard))
+       `',standard)
     ,doc
     ,@args))