annotate man/custom.texi @ 4944:6af9b2e79451

Fixes to configure so --with-error-checking=yes works -------------------- ChangeLog entries follow: -------------------- ChangeLog addition: 2010-01-23 Ben Wing <ben@xemacs.org> * configure: * configure.ac (XE_COMPLEX_ARG): Expand the help for --with-debug to describe more specifically what exactly gets turned on. Expand the help for --with-error-checking to describe all the possible arguments, including `all', `none', `noFOO', multiple arguments, etc. Change so that `--with-error-checking' is the same as `--with-error-checking=all'. Currently, `--with-error-checking' has no effect at all! It just means "leave all error-checking for specific classes to their default values", which are "maybe", and get converted to "yes" or "no" depending on whether we are running a beta XEmacs.
author Ben Wing <ben@xemacs.org>
date Sat, 23 Jan 2010 04:45:49 -0600
parents 95b25f4e7340
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 \input texinfo.tex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 @c %**start of header
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 @setfilename ../info/custom.info
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 @settitle The Customization Library
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 @afourpaper
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 @headings double
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 @end iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 @c %**end of header
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 @ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 @dircategory XEmacs Editor
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 @direntry
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 * Customizations: (custom). Customization Library.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 @end direntry
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 @end ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 @node Top, Declaring Groups, (dir), (dir)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 @top The Customization Library
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 This manual describes how to declare customization groups, variables,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 and faces. It doesn't contain any examples, but please look at the file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 @file{cus-edit.el} which contains many declarations you can learn from.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 @menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 * Declaring Groups::
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 * Declaring Variables::
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 * Declaring Faces::
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 * Usage for Package Authors::
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 * Utilities::
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 * The Init File::
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 * Wishlist::
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 All the customization declarations can be changes by keyword arguments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 Groups, variables, and faces all share these common keywords:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 @table @code
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 @item :group
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 @var{value} should be a customization group.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 Add @var{symbol} to that group.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 @item :link
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 @var{value} should be a widget type.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 Add @var{value} to the external links for this customization option.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 Useful widget types include @code{custom-manual}, @code{info-link}, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 @code{url-link}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 @item :load
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 Add @var{value} to the files that should be loaded before displaying
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 this customization option. The value should be either a string, which
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 should be a string which will be loaded with @code{load-library} unless
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 present in @code{load-history}, or a symbol which will be loaded with
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 @code{require}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 @item :tag
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 @var{Value} should be a short string used for identifying the option in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 customization menus and buffers. By default the tag will be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 automatically created from the options name.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 @node Declaring Groups, Declaring Variables, Top, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 @section Declaring Groups
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 Use @code{defgroup} to declare new customization groups.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 @defun defgroup symbol members doc [keyword value]...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 Declare @var{symbol} as a customization group containing @var{members}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 @var{symbol} does not need to be quoted.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 @var{doc} is the group documentation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 @var{members} should be an alist of the form ((@var{name}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 @var{widget})...) where @var{name} is a symbol and @var{widget} is a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 widget for editing that symbol. Useful widgets are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 @code{custom-variable} for editing variables, @code{custom-face} for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 editing faces, and @code{custom-group} for editing groups.@refill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 Internally, custom uses the symbol property @code{custom-group} to keep
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 track of the group members, and @code{group-documentation} for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 documentation string.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 The following additional @var{keyword}'s are defined:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 @table @code
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 @item :prefix
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 @var{value} should be a string. If the string is a prefix for the name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 of a member of the group, that prefix will be ignored when creating a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 tag for that member.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 @node Declaring Variables, Declaring Faces, Declaring Groups, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 @section Declaring Variables
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 Use @code{defcustom} to declare user editable variables.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 @defun defcustom symbol value doc [keyword value]...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 Declare @var{symbol} as a customizable variable that defaults to @var{value}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 Neither @var{symbol} nor @var{value} needs to be quoted.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 If @var{symbol} is not already bound, initialize it to @var{value}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 @var{doc} is the variable documentation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 The following additional @var{keyword}'s are defined:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 @table @code
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 @item :type
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 @var{value} should be a widget type.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 @item :options
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 @var{value} should be a list of possible members of the specified type.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 For hooks, this is a list of function names.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 @item :initialize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 @var{value} should be a function used to initialize the variable. It
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 takes two arguments, the symbol and value given in the @code{defcustom} call.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 Some predefined functions are:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 @table @code
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 @item custom-initialize-set
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 Use the @code{:set} method to initialize the variable. Do not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 initialize it if already bound. This is the default @code{:initialize}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 method.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 @item custom-initialize-default
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 Always use @code{set-default} to initialize the variable, even if a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 @code{:set} method has been specified.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 @item custom-initialize-reset
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 If the variable is already bound, reset it by calling the @code{:set}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 method with the value returned by the @code{:get} method.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 @item custom-initialize-changed
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 Like @code{custom-initialize-reset}, but use @code{set-default} to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 initialize the variable if it is not bound and has not been set
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 already.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 @item :set
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 @var{value} should be a function to set the value of the symbol. It
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 takes two arguments, the symbol to set and the value to give it. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 default is @code{set-default}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 @item :get
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 @var{value} should be a function to extract the value of symbol. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 function takes one argument, a symbol, and should return the current
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 value for that symbol. The default is @code{default-value}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 @item :require
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 @var{value} should be a feature symbol. Each feature will be required
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 when the `defcustom' is evaluated, or when Emacs is started if the user
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 has saved this option.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 @xref{Sexp Types,,,widget,The Widget Library}, for information about
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 widgets to use together with the @code{:type} keyword.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 Internally, custom uses the symbol property @code{custom-type} to keep
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 track of the variables type, @code{standard-value} for the program
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 specified default value, @code{saved-value} for a value saved by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 user, and @code{variable-documentation} for the documentation string.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 Use @code{custom-add-option} to specify that a specific function is
3128
95b25f4e7340 [xemacs-hg @ 2005-12-06 23:14:49 by adrian]
adrian
parents: 1738
diff changeset
168 useful as a member of a hook.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 @defun custom-add-option symbol option
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 To the variable @var{symbol} add @var{option}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 If @var{symbol} is a hook variable, @var{option} should be a hook
3128
95b25f4e7340 [xemacs-hg @ 2005-12-06 23:14:49 by adrian]
adrian
parents: 1738
diff changeset
174 member. For other types of variables, the effect is undefined."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 @node Declaring Faces, Usage for Package Authors, Declaring Variables, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 @section Declaring Faces
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 Faces are declared with @code{defface}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 @defun defface face spec doc [keyword value]...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 Declare @var{face} as a customizable face that defaults to @var{spec}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 @var{face} does not need to be quoted.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 If @var{face} has been set with `custom-set-face', set the face attributes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 as specified by that function, otherwise set the face attributes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 according to @var{spec}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 @var{doc} is the face documentation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 @var{spec} should be an alist of the form @samp{((@var{display} @var{atts})...)}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 @var{atts} is a list of face attributes and their values. The possible
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 attributes are defined in the variable `custom-face-attributes'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 The @var{atts} of the first entry in @var{spec} where the @var{display}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 matches the frame should take effect in that frame. @var{display} can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 either be the symbol `t', which will match all frames, or an alist of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 the form @samp{((@var{req} @var{item}...)...)}@refill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 For the @var{display} to match a FRAME, the @var{req} property of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 frame must match one of the @var{item}. The following @var{req} are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 defined:@refill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 @table @code
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 @item type
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 (the value of (window-system))@*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 Should be one of @code{x} or @code{tty}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 @item class
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 (the frame's color support)@*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 Should be one of @code{color}, @code{grayscale}, or @code{mono}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 @item background
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 (what color is used for the background text)@*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 Should be one of @code{light} or @code{dark}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 Internally, custom uses the symbol property @code{face-defface-spec} for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 the program specified default face properties, @code{saved-face} for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 properties saved by the user, and @code{face-documentation} for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 documentation string.@refill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 @node Usage for Package Authors, Utilities, Declaring Faces, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 @section Usage for Package Authors
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 The recommended usage for the author of a typical emacs lisp package is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 to create one group identifying the package, and make all user options
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 and faces members of that group. If the package has more than around 20
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 such options, they should be divided into a number of subgroups, with
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 each subgroup being member of the top level group.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 The top level group for the package should itself be member of one or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 more of the standard customization groups. There exists a group for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 each @emph{finder} keyword. Press @kbd{C-h p} to see a list of finder
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 keywords, and add you group to each of them, using the @code{:group}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 keyword.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 @node Utilities, The Init File, Usage for Package Authors, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 @section Utilities
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 These utilities can come in handy when adding customization support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 @deffn Widget custom-manual
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 Widget type for specifying the info manual entry for a customization
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 option. It takes one argument, an info address.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 @end deffn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 @defun custom-add-to-group group member widget
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 To existing @var{group} add a new @var{member} of type @var{widget},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 If there already is an entry for that member, overwrite it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 @defun custom-add-link symbol widget
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 To the custom option @var{symbol} add the link @var{widget}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 @defun custom-add-load symbol load
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 To the custom option @var{symbol} add the dependency @var{load}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 @var{load} should be either a library file name, or a feature name.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 @defun customize-menu-create symbol &optional name
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271 Create menu for customization group @var{symbol}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 If optional @var{name} is given, use that as the name of the menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 Otherwise the menu will be named `Customize'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 The menu is in a format applicable to @code{easy-menu-define}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 @node The Init File, Wishlist, Utilities, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 @section The Init File
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280
863
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
281 Customizations are saved to the file specified by @code{custom-file}, as
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
282 calls to @code{custom-set-variables} and @code{custom-set-faces}.
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
283
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
284 When you save customizations, the current implementation removes the
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
285 calls to @code{custom-set-variables} and @code{custom-set-faces}, and
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
286 replaces them with code generated on the basis of the current
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
287 customization state in Emacs.
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
288
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
289 By default @code{custom-file} is your @file{.emacs} file (for GNU Emacs
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
290 and older XEmacs) and is @file{custom.el} in the same directory as
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
291 @file{init.el} (in XEmacs 21.4 and later). If you use another file, you
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
292 must explicitly load it yourself.
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
293
1738
f43f9ca6c7d9 [xemacs-hg @ 2003-10-10 12:39:27 by stephent]
stephent
parents: 863
diff changeset
294 As of XEmacs 21.4.7, when @code{custom-file} is present, it is loaded
863
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
295 @emph{after} @file{init.el}. This is likely to change in the future,
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
296 because (1) actions in @file{init.el} often would like to depend on
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
297 customizations for consistent appearance and (2) Custom is quite brutal
42375619fa45 [xemacs-hg @ 2002-06-04 06:03:59 by andyp]
andyp
parents: 428
diff changeset
298 about enforcing its idea of the correct values at initialization.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 @node Wishlist, , The Init File, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 @comment node-name, next, previous, up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 @section Wishlist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 Better support for keyboard operations in the customize buffer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 Integrate with @file{w3} so you can get customization buffers with much
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 better formatting. I'm thinking about adding a <custom>name</custom>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 tag. The latest w3 have some support for this, so come up with a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 convincing example.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 Add an `examples' section, with explained examples of custom type
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 definitions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 Support selectable color themes. I.e., change many faces by setting one
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 variable.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 Support undo using lmi's @file{gnus-undo.el}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 Make it possible to append to `choice', `radio', and `set' options.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 Ask whether set or modified variables should be saved in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 @code{kill-buffer-hook}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 Ditto for @code{kill-emacs-query-functions}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 Command to check if there are any customization options that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 does not belong to an existing group.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 Optionally disable the point-cursor and instead highlight the selected
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 item in XEmacs. This is like the *Completions* buffer in XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 Suggested by Jens Lautenbacher
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 @samp{<jens@@lemming0.lem.uni-karlsruhe.de>}.@refill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 Explain why it is necessary that all choices have different default
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 values.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 Add some direct support for meta variables, i.e. make it possible to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 specify that this variable should be reset when that variable is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 changed.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 Add tutorial.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 Describe the @code{:type} syntax in this manual.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 Find a place is this manual for the following text:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 @strong{Radio vs. Buttons}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365 Use a radio if you can't find a good way to describe the item in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 choice menu text. I.e. it is better to use a radio if you expect the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 user would otherwise manually select each item from the choice menu in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368 turn to see what it expands too.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 Avoid radios if some of the items expands to complex structures.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 I mostly use radios when most of the items are of type
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 @code{function-item} or @code{variable-item}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376 Update customize buffers when @code{custom-set-variable} or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 @code{custom-save-customized} is called.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 Better handling of saved but uninitialized items.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 Detect when faces have been changed outside customize.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386 Enable mouse help in Emacs by default.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 Add an easy way to display the standard settings when an item is modified.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 See if it is feasible to scan files for customization information
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393 instead of loading them,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396 Add hint message when user push a non-pushable tag.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
397
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
398 Suggest that the user unhide if hidden, and edit the value directly
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399 otherwise.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402 Use checkboxes and radio buttons in the state menus.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
403
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
404 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 Add option to hide @samp{[hide]} for short options. Default, on.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408 Add option to hide @samp{[state]} for options with their standard
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 settings.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412 There should be a way to specify site defaults for user options.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415 There should be more buffer styles. The default `nested style, the old
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 `outline' style, a `numeric' style with numbers instead of stars, an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 `empty' style with just the group name, and `compact' with only one line
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418 per item.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 Newline and tab should be displayed as @samp{^J} and @samp{^I} in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 @code{regexp} and @code{file} widgets. I think this can be done in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 XEmacs by adding a display table to the face.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426 Use glyphs to draw the @code{customize-browse} tree.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428 Add echo and balloon help. You should be able to read the documentation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 simply by moving the mouse pointer above the name.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 Add parent links.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 Add colors.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437 @contents
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438 @bye