1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

* lisp/custom.el (defcustom): Another doc fix.

This commit is contained in:
Chong Yidong 2012-02-06 20:48:07 +08:00
parent 9a6dd7472a
commit f2475f97b7

View 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))