File: cus-edit.el.html
This file implements the code to create and edit customize buffers.
See custom.el.
No commands should have names starting with custom- because
that interferes with completion. Use customize- for commands
that the user will run with M-x, and Custom- for interactive commands.
The identity of a customize option is represented by a Lisp symbol. The following values are associated with an option.
0. The current value.
This is the value of the option as seen by "the rest of Emacs".
Usually extracted by 'default-value', but can be extracted with
different means if the option symbol has the 'custom-get'
property. Similarly, set-default (or the 'custom-set' property)
can set it.
1. The widget value.
This is the value shown in the widget in a customize buffer.
2. The customized value.
This is the last value given to the option through customize.
It is stored in the 'customized-value' property of the option, in a
cons-cell whose car evaluates to the customized value.
3. The saved value.
This is last value saved from customize.
It is stored in the 'saved-value' property of the option, in a
cons-cell whose car evaluates to the saved value.
4. The standard value.
This is the value given in the 'defcustom' declaration.
It is stored in the 'standard-value' property of the option, in a
cons-cell whose car evaluates to the standard value.
5. The "think" value.
This is what customize thinks the current value should be.
This is the customized value, if any such value exists, otherwise
the saved value, if that exists, and as a last resort the standard
value.
The reason for storing values unevaluated: This is so you can have values that depend on the environment. For example, you can have a variable that has one value when Emacs is running under a window system, and another value on a tty. Since the evaluation is only done when the variable is first initialized, this is only relevant for the saved (and standard) values, but affect others values for compatibility.
You can see (and modify and save) this unevaluated value by selecting
"Show Saved Lisp Expression" from the Lisp interface. This will
give you the unevaluated saved value, if any, otherwise the
unevaluated standard value.
The possible states for a customize widget are:
0. unknown
The state has not been determined yet.
1. modified
The widget value is different from the current value.
2. changed
The current value is different from the "think" value.
3. set
The "think" value is the customized value.
4. saved
The "think" value is the saved value.
5. standard
The "think" value is the standard value.
6. rogue
There is no standard value. This means that the variable was
not defined with defcustom, nor handled in cus-start.el. Most
standard interactive Custom commands do not let you create a
Custom buffer containing such variables. However, such Custom
buffers can be created, for instance, by calling
customize-apropos with a prefix arg or by calling
customize-option non-interactively.
7. hidden
There is no widget value.
8. mismatch
The widget value is not valid member of the :type specified for the
option.
Defined variables (72)
Custom-dirlocals-menu | Menu used in dirlocals customization buffers. |
Custom-dirlocals-mode-abbrev-table | Abbrev table for ‘Custom-dirlocals-mode’. |
Custom-dirlocals-mode-hook | Hook run after entering ‘Custom-dirlocals-mode’. |
Custom-dirlocals-mode-map | Keymap used in the "*Customize Dirlocals*" buffer. |
Custom-dirlocals-mode-syntax-table | Syntax table for ‘Custom-dirlocals-mode’. |
Custom-mode-abbrev-table | Abbrev table for ‘Custom-mode’. |
Custom-mode-hook | Hook called when entering Custom mode. |
Custom-mode-map | Keymap for ‘Custom-mode’. |
Custom-mode-menu | Menu used in customization buffers. |
Custom-mode-syntax-table | Syntax table for ‘Custom-mode’. |
custom-actioned-widget | Widget for which to show the menu of available actions. |
custom-browse-only-groups | If non-nil, show group members only within each customization group. |
custom-browse-order-groups | If non-nil, order group members within each customization group. |
custom-browse-sort-alphabetically | If non-nil, sort customization group alphabetically in ‘custom-browse’. |
custom-buffer-done-kill | Non-nil means exiting a Custom buffer should kill it. |
custom-buffer-indent | Number of spaces to indent nested groups. |
custom-buffer-order-groups | If non-nil, order group members within each customization group. |
custom-buffer-sort-alphabetically | Whether to sort customization groups alphabetically in Custom buffer. |
custom-buffer-style | Control the presentation style for customization buffers. |
custom-buffer-verbose-help | If non-nil, include explanatory text in the customization buffer. |
custom-button | Face used for buttons in customization buffers. |
custom-button-mouse | Mouse face used for buttons in customization buffers. |
custom-button-pressed | Face used for pressed buttons in customization buffers. |
custom-command-buttons | A list that holds the buttons that act on all settings in a Custom buffer. |
custom-commands | Alist of specifications for Customize menu items, tool bar icons and buttons. |
custom-dirlocals-commands | Alist of specifications for Customize menu items, tool bar icons and buttons. |
custom-dirlocals-field-map | Keymap for the editable fields in the "*Customize Dirlocals*" buffer . |
custom-dirlocals-file-widget | Widget that holds the name of the dir-locals file being customized. |
custom-dirlocals-map | Keymap used in the "*Customize Dirlocals*" buffer. |
custom-dirlocals-tool-bar-map | Keymap for the toolbar in "*Customize Dirlocals*" buffer. |
custom-dirlocals-widget | Widget that holds the dir-locals customizations. |
custom-face--font-cache-timeout | Refresh the cache of font families after at most this many seconds. |
custom-face-all | Converted version of the ‘custom-face-all’ widget. |
custom-face-default-form | Default form of displaying face definition. |
custom-face-edit | Converted version of the ‘custom-face-edit’ widget. |
custom-face-extended-menu | A menu for ‘custom-face’ widgets. |
custom-face-menu | If non-nil, an alist of actions for the ‘custom-face’ widget. |
custom-field-keymap | Keymap used inside editable fields in customization buffers. |
custom-file | File used for storing customization information. |
custom-group-extended-menu | A menu for ‘custom-group’ widgets. |
custom-group-menu | If non-nil, an alist of actions for the ‘custom-group’ widget. |
custom-group-tag-faces | Face used for group tags. |
custom-guess-doc-alist | Alist of (MATCH TYPE). |
custom-guess-name-alist | Alist of (MATCH TYPE). |
custom-icon-extended-menu | A menu for ‘custom-icon’ widgets. |
custom-magic-alist | Alist of customize option states. |
custom-magic-show | If non-nil, show textual description of the state. |
custom-magic-show-button | Show a "magic" button indicating the state of each customization option. |
custom-magic-show-hidden | Control whether the State button is shown for hidden items. |
custom-menu-nesting | Maximum nesting in custom menus. |
custom-menu-order-groups | If non-nil, order group members within each customization group. |
custom-menu-sort-alphabetically | If non-nil, sort each customization group alphabetically in menus. |
custom-mode-link-map | Local keymap for links in ‘Custom-mode’. |
custom-mode-map | Keymap for ‘Custom-mode’. |
custom-options | Customization widgets in the current buffer. |
custom-prefix-list | List of prefixes that should be ignored by ‘custom-unlispify’. |
custom-raised-buttons | If non-nil, indicate active buttons in a raised-button style. |
custom-reset-button-menu | If non-nil, only show a single reset button in customize buffers. |
custom-reset-extended-menu | A menu for the "Revert..." button. |
custom-reset-menu | If non-nil, an alist of actions for the ‘Reset’ button. |
custom-search-field | If non-nil, show a search field in Custom buffers. |
custom-tool-bar-map | Keymap for toolbar in Custom mode. |
custom-unlispify-menu-entries | Display menu entries as words instead of symbols if non-nil. |
custom-unlispify-remove-prefixes | Non-nil means remove group prefixes from option names in buffer. |
custom-unlispify-tag-names | Display tag names as words instead of symbols if non-nil. |
custom-variable-default-form | Default form of displaying variable values. |
custom-variable-extended-menu | A menu for ‘custom-variable’ widgets. |
custom-variable-menu | If non-nil, an alist of actions for the ‘custom-variable’ widget. |
customize-changed-options-previous-release | Version for ‘customize-changed’ to refer back to by default. |
customize-package-emacs-version-alist | Alist mapping versions of a package to Emacs versions. |
widget-face-prompt-value-history | History of input to ‘widget-face-prompt-value’. |
widget-fringe-bitmap-prompt-value-history | History of input to ‘widget-fringe-bitmap-prompt-value’. |
Defined functions (208)
Defined faces (25)
custom-button | Face for custom buffer buttons if ‘custom-raised-buttons’ is non-nil. |
custom-button-mouse | Mouse face for custom buffer buttons if ‘custom-raised-buttons’ is non-nil. |
custom-button-pressed | Face for pressed custom buttons if ‘custom-raised-buttons’ is non-nil. |
custom-button-pressed-unraised | Face for pressed custom buttons if ‘custom-raised-buttons’ is nil. |
custom-button-unraised | Face for custom buffer buttons if ‘custom-raised-buttons’ is nil. |
custom-changed | Face used when the customize item has been changed. |
custom-comment | Face used for comments on variables or faces. |
custom-comment-tag | Face used for the comment tag on variables or faces. |
custom-documentation | Face used for documentation strings in customization buffers. |
custom-face-tag | Face used for face tags. |
custom-group-subtitle | Face for the "Subgroups:" subtitle in Custom buffers. |
custom-group-tag | Face for low level group tags. |
custom-group-tag-1 | Face for group tags. |
custom-invalid | Face used when the customize item is invalid. |
custom-link | Face for links in customization buffers. |
custom-modified | Face used when the customize item has been modified. |
custom-rogue | Face used when the customize item is not defined for customization. |
custom-saved | Face used when the customize item has been saved. |
custom-set | Face used when the customize item has been set. |
custom-state | Face used for State descriptions in the customize buffer. |
custom-themed | Face used when the customize item has been set by a theme. |
custom-variable-button | Face used for pushable variable tags. |
custom-variable-obsolete | Face used for obsolete variables. |
custom-variable-tag | Face used for unpushable variable tags. |
custom-visibility | Face for the ‘custom-visibility’ widget. |