Next: Group Definitions, Up: Customization
All kinds of customization declarations (for variables and groups, and for faces) accept keyword arguments for specifying various information. This section describes some keywords that apply to all kinds.
All of these keywords, except :tag, can be used more than once
in a given item. Each use of the keyword has an independent effect.
The keyword :tag is an exception because any given item can only
display one name.
:tag label:tag is to
specify a dash where normally a hyphen would be converted to a space:
(defcustom cursor-in-non-selected-windows ...
:tag "Cursor In Non-selected Windows"
:group group:group in a defgroup, it makes the new group a subgroup of
group.
If you use this keyword more than once, you can put a single item into
more than one group. Displaying any of those groups will show this
item. Please don't overdo this, since the result would be annoying.
:link link-dataThere are several alternatives you can use for link-data:
(custom-manual info-node)"(emacs)Top". The link appears as
`[Manual]' in the customization buffer and enters the built-in
Info reader on info-node.
(info-link info-node)custom-manual except that the link appears
in the customization buffer with the Info node name.
(url-link url)browse-url-browser-function.
(emacs-commentary-link library)(emacs-library-link library)(file-link file)find-file when the user invokes this link.
(function-link function)describe-function when the user invokes this link.
(variable-link variable)describe-variable when the user invokes this link.
(custom-group-link group)You can specify the text to use in the customization buffer by adding
:tag name after the first element of the link-data;
for example, (info-link :tag "foo" "(emacs)Top") makes a link to
the Emacs manual which appears in the buffer as `foo'.
An item can have more than one external link; however, most items have
none at all.
:load fileload-library, and only if the file is
not already loaded.
:require feature(require 'feature) when your saved customizations
set the value of this item. feature should be a symbol.
The most common reason to use :require is when a variable enables
a feature such as a minor mode, and just setting the variable won't have
any effect unless the code which implements the mode is loaded.
:version version:package-version '(package . version)This keyword takes priority over :version.
package should be the official name of the package, such as MH-E
or Gnus. If the package package is released as part of Emacs,
package and version should appear in the value of
customize-package-emacs-version-alist.
Packages distributed as part of Emacs that use the
:package-version keyword must also update the
customize-package-emacs-version-alist variable.
This alist provides a mapping for the versions of Emacs that are associated with versions of a package listed in the
:package-versionkeyword. Its elements look like this:(package (pversion . eversion)...)For each package, which is a symbol, there are one or more elements that contain a package version pversion with an associated Emacs version eversion. These versions are strings. For example, the MH-E package updates this alist with the following:
(add-to-list 'customize-package-emacs-version-alist '(MH-E ("6.0" . "22.1") ("6.1" . "22.1") ("7.0" . "22.1") ("7.1" . "22.1") ("7.2" . "22.1") ("7.3" . "22.1") ("7.4" . "22.1") ("8.0" . "22.1")))The value of package needs to be unique and it needs to match the package value appearing in the
:package-versionkeyword. Since the user might see the value in a error message, a good choice is the official name of the package, such as MH-E or Gnus.
