aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStephen Eglen1998-03-07 18:19:38 +0000
committerStephen Eglen1998-03-07 18:19:38 +0000
commit4bef911093051ec6dfca2e1415e42baee60f8e37 (patch)
tree01e2642e0ce7282e95907bc908e065a2817d30c1 /lisp
parent14d4446b73f2f52becebc28d96e82f6ff5fe8e57 (diff)
downloademacs-4bef911093051ec6dfca2e1415e42baee60f8e37.tar.gz
emacs-4bef911093051ec6dfca2e1415e42baee60f8e37.zip
Customized.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/allout.el138
-rw-r--r--lisp/battery.el34
-rw-r--r--lisp/chistory.el24
-rw-r--r--lisp/cmuscheme.el42
-rw-r--r--lisp/compare-w.el19
-rw-r--r--lisp/docref.el34
-rw-r--r--lisp/dos-fns.el22
-rw-r--r--lisp/follow.el43
-rw-r--r--lisp/shadowfile.el36
-rw-r--r--lisp/tempo.el29
-rw-r--r--lisp/textmodes/ispell4.el69
-rw-r--r--lisp/tmm.el31
-rw-r--r--lisp/vcursor.el35
-rw-r--r--lisp/xscheme.el52
14 files changed, 427 insertions, 181 deletions
diff --git a/lisp/allout.el b/lisp/allout.el
index 1bc9e5f41bb..515219a8118 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -61,6 +61,10 @@
61(provide 'allout) 61(provide 'allout)
62 62
63;;;_* USER CUSTOMIZATION VARIABLES: 63;;;_* USER CUSTOMIZATION VARIABLES:
64(defgroup allout nil
65 "Extensive outline mode for use alone and with other modes."
66 :prefix "outline-"
67 :group 'outlines)
64 68
65;;;_ + Layout, Mode, and Topic Header Configuration 69;;;_ + Layout, Mode, and Topic Header Configuration
66 70
@@ -122,17 +126,19 @@ is modulo the setting of `outline-use-mode-specific-leader', which see.")
122(make-variable-buffer-local 'outline-layout) 126(make-variable-buffer-local 'outline-layout)
123 127
124;;;_ = outline-header-prefix 128;;;_ = outline-header-prefix
125(defvar outline-header-prefix "." 129(defcustom outline-header-prefix "."
126 "*Leading string which helps distinguish topic headers. 130 "*Leading string which helps distinguish topic headers.
127 131
128Outline topic header lines are identified by a leading topic 132Outline topic header lines are identified by a leading topic
129header prefix, which mostly have the value of this var at their front. 133header prefix, which mostly have the value of this var at their front.
130\(Level 1 topics are exceptions. They consist of only a single 134\(Level 1 topics are exceptions. They consist of only a single
131character, which is typically set to the outline-primary-bullet. Many 135character, which is typically set to the outline-primary-bullet. Many
132outlines start at level 2 to avoid this discrepancy.") 136outlines start at level 2 to avoid this discrepancy."
137 :type 'string
138 :group 'allout)
133(make-variable-buffer-local 'outline-header-prefix) 139(make-variable-buffer-local 'outline-header-prefix)
134;;;_ = outline-primary-bullet 140;;;_ = outline-primary-bullet
135(defvar outline-primary-bullet "*" 141(defcustom outline-primary-bullet "*"
136 "Bullet used for top-level outline topics. 142 "Bullet used for top-level outline topics.
137 143
138Outline topic header lines are identified by a leading topic header 144Outline topic header lines are identified by a leading topic header
@@ -142,10 +148,12 @@ var and the respective outline-*-bullets-string vars.
142The value of an asterisk (`*') provides for backwards compatibility 148The value of an asterisk (`*') provides for backwards compatibility
143with the original emacs outline mode. See outline-plain-bullets-string 149with the original emacs outline mode. See outline-plain-bullets-string
144and outline-distinctive-bullets-string for the range of available 150and outline-distinctive-bullets-string for the range of available
145bullets.") 151bullets."
152 :type 'string
153 :group 'allout)
146(make-variable-buffer-local 'outline-primary-bullet) 154(make-variable-buffer-local 'outline-primary-bullet)
147;;;_ = outline-plain-bullets-string 155;;;_ = outline-plain-bullets-string
148(defvar outline-plain-bullets-string (concat outline-primary-bullet 156(defcustom outline-plain-bullets-string (concat outline-primary-bullet
149 "+-:.;,") 157 "+-:.;,")
150 "*The bullets normally used in outline topic prefixes. 158 "*The bullets normally used in outline topic prefixes.
151 159
@@ -155,10 +163,12 @@ bullets.
155DO NOT include the close-square-bracket, `]', as a bullet. 163DO NOT include the close-square-bracket, `]', as a bullet.
156 164
157Outline mode has to be reactivated in order for changes to the value 165Outline mode has to be reactivated in order for changes to the value
158of this var to take effect.") 166of this var to take effect."
167 :type 'string
168 :group 'allout)
159(make-variable-buffer-local 'outline-plain-bullets-string) 169(make-variable-buffer-local 'outline-plain-bullets-string)
160;;;_ = outline-distinctive-bullets-string 170;;;_ = outline-distinctive-bullets-string
161(defvar outline-distinctive-bullets-string "=>([{}&!?#%\"X@$~\\" 171(defcustom outline-distinctive-bullets-string "=>([{}&!?#%\"X@$~\\"
162 "*Persistent outline header bullets used to distinguish special topics. 172 "*Persistent outline header bullets used to distinguish special topics.
163 173
164These bullets are not offered among the regular, level-specific 174These bullets are not offered among the regular, level-specific
@@ -170,11 +180,13 @@ You must run `set-outline-regexp' in order for changes
170to the value of this var to effect outline-mode operation. 180to the value of this var to effect outline-mode operation.
171 181
172DO NOT include the close-square-bracket, `]', on either of the bullet 182DO NOT include the close-square-bracket, `]', on either of the bullet
173strings.") 183strings."
184 :type 'string
185 :group 'allout)
174(make-variable-buffer-local 'outline-distinctive-bullets-string) 186(make-variable-buffer-local 'outline-distinctive-bullets-string)
175 187
176;;;_ = outline-use-mode-specific-leader 188;;;_ = outline-use-mode-specific-leader
177(defvar outline-use-mode-specific-leader t 189(defcustom outline-use-mode-specific-leader t
178 "*When non-nil, use mode-specific topic-header prefixes. 190 "*When non-nil, use mode-specific topic-header prefixes.
179 191
180Allout outline mode will use the mode-specific `outline-mode-leaders' 192Allout outline mode will use the mode-specific `outline-mode-leaders'
@@ -198,7 +210,11 @@ comment strings. comment-start strings that do end in spaces are not
198tripled, but an underscore is substituted for the space. [This 210tripled, but an underscore is substituted for the space. [This
199presumes that the space is for appearance, not comment syntax. You 211presumes that the space is for appearance, not comment syntax. You
200can use `outline-mode-leaders' to override this behavior, when 212can use `outline-mode-leaders' to override this behavior, when
201incorrect.]") 213incorrect.]"
214 :type '(choice (const t) (const nil) string
215 (const outline-mode-leaders)
216 (const comment-start))
217 :group 'allout)
202;;;_ = outline-mode-leaders 218;;;_ = outline-mode-leaders
203(defvar outline-mode-leaders '() 219(defvar outline-mode-leaders '()
204 "Specific outline-prefix leading strings per major modes. 220 "Specific outline-prefix leading strings per major modes.
@@ -212,7 +228,7 @@ character, like an \"_\" underscore, to distinguish the lead string
212from regular comments that start at bol.") 228from regular comments that start at bol.")
213 229
214;;;_ = outline-old-style-prefixes 230;;;_ = outline-old-style-prefixes
215(defvar outline-old-style-prefixes nil 231(defcustom outline-old-style-prefixes nil
216 "*When non-nil, use only old-and-crusty outline-mode `*' topic prefixes. 232 "*When non-nil, use only old-and-crusty outline-mode `*' topic prefixes.
217 233
218Non-nil restricts the topic creation and modification 234Non-nil restricts the topic creation and modification
@@ -220,10 +236,12 @@ functions to asterix-padded prefixes, so they look exactly
220like the original emacs-outline style prefixes. 236like the original emacs-outline style prefixes.
221 237
222Whatever the setting of this variable, both old and new style prefixes 238Whatever the setting of this variable, both old and new style prefixes
223are always respected by the topic maneuvering functions.") 239are always respected by the topic maneuvering functions."
240 :type 'boolean
241 :group 'allout)
224(make-variable-buffer-local 'outline-old-style-prefixes) 242(make-variable-buffer-local 'outline-old-style-prefixes)
225;;;_ = outline-stylish-prefixes - alternating bullets 243;;;_ = outline-stylish-prefixes - alternating bullets
226(defvar outline-stylish-prefixes t 244(defcustom outline-stylish-prefixes t
227 "*Do fancy stuff with topic prefix bullets according to level, etc. 245 "*Do fancy stuff with topic prefix bullets according to level, etc.
228 246
229Non-nil enables topic creation, modification, and repositioning 247Non-nil enables topic creation, modification, and repositioning
@@ -264,51 +282,73 @@ always respected by the topic maneuvering functions, regardless of
264this variable setting. 282this variable setting.
265 283
266The setting of this var is not relevant when outline-old-style-prefixes 284The setting of this var is not relevant when outline-old-style-prefixes
267is non-nil.") 285is non-nil."
286 :type 'boolean
287 :group 'allout)
268(make-variable-buffer-local 'outline-stylish-prefixes) 288(make-variable-buffer-local 'outline-stylish-prefixes)
269 289
270;;;_ = outline-numbered-bullet 290;;;_ = outline-numbered-bullet
271(defvar outline-numbered-bullet "#" 291(defcustom outline-numbered-bullet "#"
272 "*String designating bullet of topics that have auto-numbering; nil for none. 292 "*String designating bullet of topics that have auto-numbering; nil for none.
273 293
274Topics having this bullet have automatic maintenance of a sibling 294Topics having this bullet have automatic maintenance of a sibling
275sequence-number tacked on, just after the bullet. Conventionally set 295sequence-number tacked on, just after the bullet. Conventionally set
276to \"#\", you can set it to a bullet of your choice. A nil value 296to \"#\", you can set it to a bullet of your choice. A nil value
277disables numbering maintenance.") 297disables numbering maintenance."
298 :type '(choice (const nil) string)
299 :group 'allout)
278(make-variable-buffer-local 'outline-numbered-bullet) 300(make-variable-buffer-local 'outline-numbered-bullet)
279;;;_ = outline-file-xref-bullet 301;;;_ = outline-file-xref-bullet
280(defvar outline-file-xref-bullet "@" 302(defcustom outline-file-xref-bullet "@"
281 "*Bullet signifying file cross-references, for `outline-resolve-xref'. 303 "*Bullet signifying file cross-references, for `outline-resolve-xref'.
282 304
283Set this var to the bullet you want to use for file cross-references. 305Set this var to the bullet you want to use for file cross-references.
284Set it to nil if you want to inhibit this capability.") 306Set it to nil if you want to inhibit this capability."
307 :type '(choice (const nil) string)
308 :group 'allout)
285 309
286;;;_ + LaTeX formatting 310;;;_ + LaTeX formatting
287;;;_ - outline-number-pages 311;;;_ - outline-number-pages
288(defvar outline-number-pages nil 312(defcustom outline-number-pages nil
289 "*Non-nil turns on page numbering for LaTeX formatting of an outline.") 313 "*Non-nil turns on page numbering for LaTeX formatting of an outline."
314 :type 'boolean
315 :group 'allout)
290;;;_ - outline-label-style 316;;;_ - outline-label-style
291(defvar outline-label-style "\\large\\bf" 317(defcustom outline-label-style "\\large\\bf"
292 "*Font and size of labels for LaTeX formatting of an outline.") 318 "*Font and size of labels for LaTeX formatting of an outline."
319 :type 'string
320 :group 'allout)
293;;;_ - outline-head-line-style 321;;;_ - outline-head-line-style
294(defvar outline-head-line-style "\\large\\sl " 322(defcustom outline-head-line-style "\\large\\sl "
295 "*Font and size of entries for LaTeX formatting of an outline.") 323 "*Font and size of entries for LaTeX formatting of an outline."
324 :type 'string
325 :group 'allout)
296;;;_ - outline-body-line-style 326;;;_ - outline-body-line-style
297(defvar outline-body-line-style " " 327(defcustom outline-body-line-style " "
298 "*Font and size of entries for LaTeX formatting of an outline.") 328 "*Font and size of entries for LaTeX formatting of an outline."
329 :type 'string
330 :group 'allout)
299;;;_ - outline-title-style 331;;;_ - outline-title-style
300(defvar outline-title-style "\\Large\\bf" 332(defcustom outline-title-style "\\Large\\bf"
301 "*Font and size of titles for LaTeX formatting of an outline.") 333 "*Font and size of titles for LaTeX formatting of an outline."
334 :type 'string
335 :group 'allout)
302;;;_ - outline-title 336;;;_ - outline-title
303(defvar outline-title '(or buffer-file-name (current-buffer-name)) 337(defcustom outline-title '(or buffer-file-name (current-buffer-name))
304 "*Expression to be evaluated to determine the title for LaTeX 338 "*Expression to be evaluated to determine the title for LaTeX
305formatted copy.") 339formatted copy."
340 :type 'sexp
341 :group 'allout)
306;;;_ - outline-line-skip 342;;;_ - outline-line-skip
307(defvar outline-line-skip ".05cm" 343(defcustom outline-line-skip ".05cm"
308 "*Space between lines for LaTeX formatting of an outline.") 344 "*Space between lines for LaTeX formatting of an outline."
345 :type 'string
346 :group 'allout)
309;;;_ - outline-indent 347;;;_ - outline-indent
310(defvar outline-indent ".3cm" 348(defcustom outline-indent ".3cm"
311 "*LaTeX formatted depth-indent spacing.") 349 "*LaTeX formatted depth-indent spacing."
350 :type 'string
351 :group 'allout)
312 352
313;;;_ + Miscellaneous customization 353;;;_ + Miscellaneous customization
314 354
@@ -361,29 +401,35 @@ will be used as is.")
361 ("?c" outline-copy-exposed))) 401 ("?c" outline-copy-exposed)))
362 402
363;;;_ = outline-command-prefix 403;;;_ = outline-command-prefix
364(defvar outline-command-prefix "\C-c" 404(defcustom outline-command-prefix "\C-c"
365 "*Key sequence to be used as prefix for outline mode command key bindings.") 405 "*Key sequence to be used as prefix for outline mode command key bindings."
406 :type 'string
407 :group 'allout)
366 408
367;;;_ = outline-enwrap-isearch-mode 409;;;_ = outline-enwrap-isearch-mode
368(defvar outline-enwrap-isearch-mode t 410(defcustom outline-enwrap-isearch-mode t
369 "*Set non-nil to enable automatic exposure of concealed isearch targets. 411 "*Set non-nil to enable automatic exposure of concealed isearch targets.
370 412
371If non-nil, isearch will expose hidden text encountered in the course 413If non-nil, isearch will expose hidden text encountered in the course
372of a search, and to reconceal it if the search is continued past it.") 414of a search, and to reconceal it if the search is continued past it."
415 :type 'boolean
416 :group 'allout)
373 417
374;;;_ = outline-use-hanging-indents 418;;;_ = outline-use-hanging-indents
375(defvar outline-use-hanging-indents t 419(defcustom outline-use-hanging-indents t
376 "*If non-nil, topic body text auto-indent defaults to indent of the header. 420 "*If non-nil, topic body text auto-indent defaults to indent of the header.
377Ie, it is indented to be just past the header prefix. This is 421Ie, it is indented to be just past the header prefix. This is
378relevant mostly for use with indented-text-mode, or other situations 422relevant mostly for use with indented-text-mode, or other situations
379where auto-fill occurs. 423where auto-fill occurs.
380 424
381\[This feature no longer depends in any way on the `filladapt.el' 425\[This feature no longer depends in any way on the `filladapt.el'
382lisp-archive package.\]") 426lisp-archive package.\]"
427 :type 'boolean
428 :group 'allout)
383(make-variable-buffer-local 'outline-use-hanging-indents) 429(make-variable-buffer-local 'outline-use-hanging-indents)
384 430
385;;;_ = outline-reindent-bodies 431;;;_ = outline-reindent-bodies
386(defvar outline-reindent-bodies (if outline-use-hanging-indents 432(defcustom outline-reindent-bodies (if outline-use-hanging-indents
387 'text) 433 'text)
388 "*Non-nil enables auto-adjust of topic body hanging indent with depth shifts. 434 "*Non-nil enables auto-adjust of topic body hanging indent with depth shifts.
389 435
@@ -393,12 +439,14 @@ the header.
393 439
394A value of `t' enables reindent in non-programming-code buffers, ie 440A value of `t' enables reindent in non-programming-code buffers, ie
395those that do not have the variable `comment-start' set. A value of 441those that do not have the variable `comment-start' set. A value of
396`force' enables reindent whether or not `comment-start' is set.") 442`force' enables reindent whether or not `comment-start' is set."
443 :type '(choice (const nil) (const t) (const text) (const force))
444 :group 'allout)
397 445
398(make-variable-buffer-local 'outline-reindent-bodies) 446(make-variable-buffer-local 'outline-reindent-bodies)
399 447
400;;;_ = outline-inhibit-protection 448;;;_ = outline-inhibit-protection
401(defvar outline-inhibit-protection nil 449(defcustom outline-inhibit-protection nil
402 "*Non-nil disables warnings and confirmation-checks for concealed-text edits. 450 "*Non-nil disables warnings and confirmation-checks for concealed-text edits.
403 451
404Outline mode uses emacs change-triggered functions to detect unruly 452Outline mode uses emacs change-triggered functions to detect unruly
@@ -407,7 +455,9 @@ protection, potentially increasing text-entry responsiveness a bit.
407 455
408This var takes effect at outline-mode activation, so you may have to 456This var takes effect at outline-mode activation, so you may have to
409deactivate and then reactivate the mode if you want to toggle the 457deactivate and then reactivate the mode if you want to toggle the
410behavior.") 458behavior."
459 :type 'boolean
460 :group 'allout)
411 461
412;;;_* CODE - no user customizations below. 462;;;_* CODE - no user customizations below.
413 463
diff --git a/lisp/battery.el b/lisp/battery.el
index e7f628d4d00..608ce9cd46f 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -33,10 +33,16 @@
33(require 'timer) 33(require 'timer)
34 34
35 35
36(defvar battery-status-function 36
37(defgroup battery nil
38 "Display battery status information."
39 :prefix "battery-"
40 :group 'hardware)
41
42(defcustom battery-status-function
37 (cond ((and (eq system-type 'gnu/linux) 43 (cond ((and (eq system-type 'gnu/linux)
38 (file-readable-p "/proc/apm")) 44 (file-readable-p "/proc/apm"))
39 'battery-linux-proc-apm)) 45 'battery-linux-proc-apm))
40 "*Function for getting battery status information. 46 "*Function for getting battery status information.
41The function have to return an alist of conversion definitions. 47The function have to return an alist of conversion definitions.
42Cons cells are of the form 48Cons cells are of the form
@@ -44,31 +50,39 @@ Cons cells are of the form
44 (CONVERSION . REPLACEMENT-TEXT) 50 (CONVERSION . REPLACEMENT-TEXT)
45 51
46CONVERSION is the character code of a \"conversion specification\" 52CONVERSION is the character code of a \"conversion specification\"
47introduced by a `%' character in a control string.") 53introduced by a `%' character in a control string."
54 :type 'function
55 :group 'battery)
48 56
49(defvar battery-echo-area-format 57(defcustom battery-echo-area-format
50 (cond ((eq battery-status-function 'battery-linux-proc-apm) 58 (cond ((eq battery-status-function 'battery-linux-proc-apm)
51 "Power %L, battery %B (%p%% load, remaining time %t)")) 59 "Power %L, battery %B (%p%% load, remaining time %t)"))
52 "*Control string formatting the string to display in the echo area. 60 "*Control string formatting the string to display in the echo area.
53Ordinary characters in the control string are printed as-is, while 61Ordinary characters in the control string are printed as-is, while
54conversion specifications introduced by a `%' character in the control 62conversion specifications introduced by a `%' character in the control
55string are substituted as defined by the current value of the variable 63string are substituted as defined by the current value of the variable
56`battery-status-function'.") 64`battery-status-function'."
65 :type '(choice string (const nil))
66 :group 'battery)
57 67
58(defvar battery-mode-line-string nil 68(defvar battery-mode-line-string nil
59 "String to display in the mode line.") 69 "String to display in the mode line.")
60 70
61(defvar battery-mode-line-format 71(defcustom battery-mode-line-format
62 (cond ((eq battery-status-function 'battery-linux-proc-apm) 72 (cond ((eq battery-status-function 'battery-linux-proc-apm)
63 " [%b%p%%]")) 73 " [%b%p%%]"))
64 "*Control string formatting the string to display in the mode line. 74 "*Control string formatting the string to display in the mode line.
65Ordinary characters in the control string are printed as-is, while 75Ordinary characters in the control string are printed as-is, while
66conversion specifications introduced by a `%' character in the control 76conversion specifications introduced by a `%' character in the control
67string are substituted as defined by the current value of the variable 77string are substituted as defined by the current value of the variable
68`battery-status-function'.") 78`battery-status-function'."
69 79 :type '(choice string (const nil))
70(defvar battery-update-interval 60 80 :group 'battery)
71 "*Seconds after which the battery status will be updated.") 81
82(defcustom battery-update-interval 60
83 "*Seconds after which the battery status will be updated."
84 :type 'integer
85 :group 'battery)
72 86
73(defvar battery-update-timer nil 87(defvar battery-update-timer nil
74 "Interval timer object.") 88 "Interval timer object.")
diff --git a/lisp/chistory.el b/lisp/chistory.el
index 3685e01db5c..29bc7b9b8d7 100644
--- a/lisp/chistory.el
+++ b/lisp/chistory.el
@@ -31,6 +31,10 @@
31 31
32;;; Code: 32;;; Code:
33 33
34(defgroup chistory nil
35 "List command history."
36 :group 'keyboard)
37
34;;;###autoload 38;;;###autoload
35(defun repeat-matching-complex-command (&optional pattern) 39(defun repeat-matching-complex-command (&optional pattern)
36 "Edit and re-evaluate complex command with name matching PATTERN. 40 "Edit and re-evaluate complex command with name matching PATTERN.
@@ -59,15 +63,17 @@ editing and the result is evaluated."
59 (setq command-history (cdr command-history))) 63 (setq command-history (cdr command-history)))
60 (edit-and-eval-command "Redo: " what)))) 64 (edit-and-eval-command "Redo: " what))))
61 65
62(defvar default-command-history-filter-garbage 66(defcustom default-command-history-filter-garbage
63 '(command-history-mode 67 '(command-history-mode
64 list-command-history 68 list-command-history
65 electric-command-history) 69 electric-command-history)
66 "*A list of symbols to be ignored by `default-command-history-filter'. 70 "*A list of symbols to be ignored by `default-command-history-filter'.
67It that function is given a list whose car is an element of this list, 71If that function is given a list whose car is an element of this list,
68then it will return non-nil (indicating the list should be discarded from 72then it will return non-nil (indicating the list should be discarded from
69the history). 73the history).
70Initially, all commands related to the command history are discarded.") 74Initially, all commands related to the command history are discarded."
75 :type '(repeat symbol)
76 :group 'chistory)
71 77
72(defvar list-command-history-filter 'default-command-history-filter 78(defvar list-command-history-filter 'default-command-history-filter
73 "Predicate to test which commands should be excluded from the history listing. 79 "Predicate to test which commands should be excluded from the history listing.
@@ -83,8 +89,10 @@ from the command history."
83 (or (not (consp frob)) 89 (or (not (consp frob))
84 (memq (car frob) default-command-history-filter-garbage))) 90 (memq (car frob) default-command-history-filter-garbage)))
85 91
86(defvar list-command-history-max 32 92(defcustom list-command-history-max 32
87 "*If non-nil, maximum length of the listing produced by `list-command-history'.") 93 "*If non-nil, maximum length of the listing produced by `list-command-history'."
94 :type '(choice integer (const nil))
95 :group 'chistory)
88 96
89;;;###autoload 97;;;###autoload
90(defun list-command-history () 98(defun list-command-history ()
@@ -126,8 +134,10 @@ The buffer is left in Command History mode."
126 (setq major-mode (or majormode 'command-history-mode)) 134 (setq major-mode (or majormode 'command-history-mode))
127 (setq mode-name (or modename "Command History"))) 135 (setq mode-name (or modename "Command History")))
128 136
129(defvar command-history-hook nil 137(defcustom command-history-hook nil
130 "If non-nil, its value is called on entry to `command-history-mode'.") 138 "If non-nil, its value is called on entry to `command-history-mode'."
139 :type 'hook
140 :group 'chistory)
131 141
132(defvar command-history-map nil) 142(defvar command-history-map nil)
133(if command-history-map 143(if command-history-map
diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el
index 76fff6d9a5e..a3e1ab5d9f7 100644
--- a/lisp/cmuscheme.el
+++ b/lisp/cmuscheme.el
@@ -96,11 +96,19 @@
96(require 'scheme) 96(require 'scheme)
97(require 'comint) 97(require 'comint)
98 98
99
100(defgroup cmuscheme nil
101 "Run a scheme process in a buffer."
102 :group 'lisp)
103
99;;; INFERIOR SCHEME MODE STUFF 104;;; INFERIOR SCHEME MODE STUFF
100;;;============================================================================ 105;;;============================================================================
101 106
102(defvar inferior-scheme-mode-hook nil 107(defcustom inferior-scheme-mode-hook nil
103 "*Hook for customising inferior-scheme mode.") 108 "*Hook for customising inferior-scheme mode."
109 :type 'hook
110 :group 'cmuscheme)
111
104(defvar inferior-scheme-mode-map nil) 112(defvar inferior-scheme-mode-map nil)
105 113
106(cond ((not inferior-scheme-mode-map) 114(cond ((not inferior-scheme-mode-map)
@@ -202,9 +210,11 @@ to continue it."
202 (setq comint-get-old-input (function scheme-get-old-input)) 210 (setq comint-get-old-input (function scheme-get-old-input))
203 (run-hooks 'inferior-scheme-mode-hook)) 211 (run-hooks 'inferior-scheme-mode-hook))
204 212
205(defvar inferior-scheme-filter-regexp "\\`\\s *\\S ?\\S ?\\s *\\'" 213(defcustom inferior-scheme-filter-regexp "\\`\\s *\\S ?\\S ?\\s *\\'"
206 "*Input matching this regexp are not saved on the history list. 214 "*Input matching this regexp are not saved on the history list.
207Defaults to a regexp ignoring all inputs of 0, 1, or 2 letters.") 215Defaults to a regexp ignoring all inputs of 0, 1, or 2 letters."
216 :type 'regexp
217 :group 'cmuscheme)
208 218
209(defun scheme-input-filter (str) 219(defun scheme-input-filter (str)
210 "Don't save anything matching inferior-scheme-filter-regexp" 220 "Don't save anything matching inferior-scheme-filter-regexp"
@@ -230,8 +240,10 @@ Defaults to a regexp ignoring all inputs of 0, 1, or 2 letters.")
230 (scheme-args-to-list (substring string pos 240 (scheme-args-to-list (substring string pos
231 (length string))))))))) 241 (length string)))))))))
232 242
233(defvar scheme-program-name "scheme" 243(defcustom scheme-program-name "scheme"
234 "*Program invoked by the run-scheme command") 244 "*Program invoked by the run-scheme command"
245 :type 'string
246 :group 'cmuscheme)
235 247
236;;;###autoload 248;;;###autoload
237(defun run-scheme (cmd) 249(defun run-scheme (cmd)
@@ -275,8 +287,10 @@ of `scheme-program-name'). Runs the hooks `inferior-scheme-mode-hook'
275 (interactive) 287 (interactive)
276 (scheme-send-region (save-excursion (backward-sexp) (point)) (point))) 288 (scheme-send-region (save-excursion (backward-sexp) (point)) (point)))
277 289
278(defvar scheme-compile-exp-command "(compile '%s)" 290(defcustom scheme-compile-exp-command "(compile '%s)"
279 "*Template for issuing commands to compile arbitrary Scheme expressions.") 291 "*Template for issuing commands to compile arbitrary Scheme expressions."
292 :type 'string
293 :group 'cmuscheme)
280 294
281(defun scheme-compile-region (start end) 295(defun scheme-compile-region (start end)
282 "Compile the current region in the inferior Scheme process. 296 "Compile the current region in the inferior Scheme process.
@@ -335,11 +349,13 @@ Then switch to the process buffer."
335 (scheme-compile-region start end) 349 (scheme-compile-region start end)
336 (switch-to-scheme t)) 350 (switch-to-scheme t))
337 351
338(defvar scheme-source-modes '(scheme-mode) 352(defcustom scheme-source-modes '(scheme-mode)
339 "*Used to determine if a buffer contains Scheme source code. 353 "*Used to determine if a buffer contains Scheme source code.
340If it's loaded into a buffer that is in one of these major modes, it's 354If it's loaded into a buffer that is in one of these major modes, it's
341considered a scheme source file by scheme-load-file and scheme-compile-file. 355considered a scheme source file by scheme-load-file and scheme-compile-file.
342Used by these commands to determine defaults.") 356Used by these commands to determine defaults."
357 :type '(repeat function)
358 :group 'cmuscheme)
343 359
344(defvar scheme-prev-l/c-dir/file nil 360(defvar scheme-prev-l/c-dir/file nil
345 "Caches the last (directory . file) pair. 361 "Caches the last (directory . file) pair.
@@ -425,9 +441,11 @@ for a minimal, simple implementation. Feel free to extend it.")
425 441
426;;; Do the user's customisation... 442;;; Do the user's customisation...
427 443
428(defvar cmuscheme-load-hook nil 444(defcustom cmuscheme-load-hook nil
429 "This hook is run when cmuscheme is loaded in. 445 "This hook is run when cmuscheme is loaded in.
430This is a good place to put keybindings.") 446This is a good place to put keybindings."
447 :type 'hook
448 :group 'cmuscheme)
431 449
432(run-hooks 'cmuscheme-load-hook) 450(run-hooks 'cmuscheme-load-hook)
433 451
diff --git a/lisp/compare-w.el b/lisp/compare-w.el
index bdfcd006c95..495ff12d110 100644
--- a/lisp/compare-w.el
+++ b/lisp/compare-w.el
@@ -30,7 +30,12 @@
30 30
31;;; Code: 31;;; Code:
32 32
33(defvar compare-windows-whitespace "[ \t\n]+" 33(defgroup compare-w nil
34 "Compare text between windows."
35 :prefix "compare-"
36 :group 'tools)
37
38(defcustom compare-windows-whitespace "[ \t\n]+"
34 "*Regexp that defines whitespace sequences for \\[compare-windows]. 39 "*Regexp that defines whitespace sequences for \\[compare-windows].
35Changes in whitespace are optionally ignored. 40Changes in whitespace are optionally ignored.
36 41
@@ -42,10 +47,14 @@ point; it should also advance past any whitespace.
42The function is passed one argument, the point where `compare-windows' 47The function is passed one argument, the point where `compare-windows'
43was originally called; it should not consider any text before that point. 48was originally called; it should not consider any text before that point.
44If the function returns the same value for both buffers, then the 49If the function returns the same value for both buffers, then the
45whitespace is considered to match, and is skipped.") 50whitespace is considered to match, and is skipped."
46 51 :type '(choice regexp function)
47(defvar compare-ignore-case nil 52 :group 'compare-w)
48 "*Non-nil means \\[compare-windows] ignores case differences.") 53
54(defcustom compare-ignore-case nil
55 "*Non-nil means \\[compare-windows] ignores case differences."
56 :type 'boolean
57 :group 'compare-w)
49 58
50;;;###autoload 59;;;###autoload
51(defun compare-windows (ignore-whitespace) 60(defun compare-windows (ignore-whitespace)
diff --git a/lisp/docref.el b/lisp/docref.el
index 363ce6c33d5..9aa6a604b22 100644
--- a/lisp/docref.el
+++ b/lisp/docref.el
@@ -60,17 +60,27 @@
60;;; Code: 60;;; Code:
61 61
62;; User customizable variables 62;; User customizable variables
63 63(defgroup docref nil
64(defvar docref-highlight-p t 64 "Simple cross references for Elisp documentation strings."
65 :prefix "docref-"
66 :group 'help
67 :group 'lisp
68 :group 'docs)
69
70(defcustom docref-highlight-p t
65 "*If non-nil, \\(f@docref-subst) highlights cross-references. 71 "*If non-nil, \\(f@docref-subst) highlights cross-references.
66Under window system it highlights them with face defined by 72Under window system it highlights them with face defined by
67\\(v@docref-highlight-face), on character terminal highlighted references 73\\(v@docref-highlight-face), on character terminal highlighted references
68look like cross-references in info mode.") 74look like cross-references in info mode."
75 :type 'boolean
76 :group 'docref)
69 77
70(defvar docref-highlight-face 'highlight 78(defcustom docref-highlight-face 'highlight
71 "*Face used to highlight cross-references (used by \\(f@docref-subst))") 79 "*Face used to highlight cross-references (used by \\(f@docref-subst))"
80 :type 'face
81 :group 'docref)
72 82
73(defvar docref-methods-alist 83(defcustom docref-methods-alist
74 '(("f" . docref-describe-function) ; reference to a function documentation 84 '(("f" . docref-describe-function) ; reference to a function documentation
75 ("v" . docref-describe-variable) ; reference to a variable documentation 85 ("v" . docref-describe-variable) ; reference to a variable documentation
76 ("F" . docref-read-file) ; reference to a file contents 86 ("F" . docref-read-file) ; reference to a file contents
@@ -81,10 +91,14 @@ look like cross-references in info mode.")
81 91
82The car of each element is a string that serves as `type' in cross-references. 92The car of each element is a string that serves as `type' in cross-references.
83\(See \\(f@docref-subst)). The cdr is a function of one argument, 93\(See \\(f@docref-subst)). The cdr is a function of one argument,
84to be called to find this reference.") 94to be called to find this reference."
85 95 :type '(repeat (cons string function))
86(defvar docref-back-label "\nback" 96 :group 'docref)
87 "Label to use by \\(f@docref-subst) for the go-back reference.") 97
98(defcustom docref-back-label "\nback"
99 "Label to use by \\(f@docref-subst) for the go-back reference."
100 :type 'string
101 :group 'docref)
88 102
89(defvar docref-back-reference nil 103(defvar docref-back-reference nil
90 "If non-nil, this is a go-back reference to add to the current buffer. 104 "If non-nil, this is a go-back reference to add to the current buffer.
diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el
index e3ae53bd070..2ecdea4668e 100644
--- a/lisp/dos-fns.el
+++ b/lisp/dos-fns.el
@@ -28,6 +28,10 @@
28 28
29;;; Code: 29;;; Code:
30 30
31(defgroup dos-fns nil
32 "MS-Dos specific functions."
33 :group 'environment)
34
31;; This overrides a trivial definition in files.el. 35;; This overrides a trivial definition in files.el.
32(defun convert-standard-filename (filename) 36(defun convert-standard-filename (filename)
33 "Convert a standard file's name to something suitable for the current OS. 37 "Convert a standard file's name to something suitable for the current OS.
@@ -78,8 +82,10 @@ with a definition that really does change some file names."
78 (aset string (1- (length string)) lastchar)) 82 (aset string (1- (length string)) lastchar))
79 (concat dir string)))) 83 (concat dir string))))
80 84
81(defvar msdos-shells '("command.com" "4dos.com" "ndos.com") 85(defcustom msdos-shells '("command.com" "4dos.com" "ndos.com")
82 "*List of shells that use `/c' instead of `-c' and a backslashed command.") 86 "*List of shells that use `/c' instead of `-c' and a backslashed command."
87 :type '(repeat string)
88 :group 'dos-fns)
83 89
84(defvar register-name-alist 90(defvar register-name-alist
85 '((ax . 0) (bx . 1) (cx . 2) (dx . 3) (si . 4) (di . 5) 91 '((ax . 0) (bx . 1) (cx . 2) (dx . 3) (si . 4) (di . 5)
@@ -121,7 +127,7 @@ with a definition that really does change some file names."
121 (int86 33 regs)) 127 (int86 33 regs))
122 128
123;; Support for printing under MS-DOS, see lpr.el and ps-print.el. 129;; Support for printing under MS-DOS, see lpr.el and ps-print.el.
124(defvar dos-printer "PRN" 130(defcustom dos-printer "PRN"
125 "*The name of a local MS-DOS device to which data is sent for printing. 131 "*The name of a local MS-DOS device to which data is sent for printing.
126\(Note that PostScript files are sent to `dos-ps-printer', which see.\) 132\(Note that PostScript files are sent to `dos-ps-printer', which see.\)
127 133
@@ -129,7 +135,9 @@ Typical non-default settings would be \"LPT1\" to \"LPT3\" for
129parallel printers, or \"COM1\" to \"COM4\" or \"AUX\" for serial 135parallel printers, or \"COM1\" to \"COM4\" or \"AUX\" for serial
130printers. You can also set it to a name of a file, in which 136printers. You can also set it to a name of a file, in which
131case the output gets appended to that file. 137case the output gets appended to that file.
132If you want to discard the printed output, set this to \"NUL\".") 138If you want to discard the printed output, set this to \"NUL\"."
139 :type 'file ; could use string but then we lose completion for files.
140 :group 'dos-fns)
133 141
134(defun dos-print-region-function (start end 142(defun dos-print-region-function (start end
135 &optional lpr-prog 143 &optional lpr-prog
@@ -164,7 +172,7 @@ START and END."
164;; the same output as `lpr-buffer' and `lpr-region', accordingly. 172;; the same output as `lpr-buffer' and `lpr-region', accordingly.
165(setq lpr-headers-switches "(page headers are not supported)") 173(setq lpr-headers-switches "(page headers are not supported)")
166 174
167(defvar dos-ps-printer "PRN" 175(defcustom dos-ps-printer "PRN"
168 "*Method for printing PostScript files under MS-DOS. 176 "*Method for printing PostScript files under MS-DOS.
169 177
170If the value is a string, then it is taken as the name of the 178If the value is a string, then it is taken as the name of the
@@ -180,7 +188,9 @@ you want to silently discard the printed output, set this to \"NUL\".
180 188
181If the value is anything but a string, PostScript files will be 189If the value is anything but a string, PostScript files will be
182piped to the program given by `ps-lpr-command', with switches 190piped to the program given by `ps-lpr-command', with switches
183given by `ps-lpr-switches', which see.") 191given by `ps-lpr-switches', which see."
192 :type '(choice file (const :tag "Pipe to ps-lpr-command" pipe))
193 :group 'dos-fns)
184 194
185(setq ps-lpr-command "gs") 195(setq ps-lpr-command "gs")
186 196
diff --git a/lisp/follow.el b/lisp/follow.el
index 66b31fe3811..aea56ee0b96 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -369,14 +369,23 @@
369;;}}} 369;;}}}
370;;{{{ Variables 370;;{{{ Variables
371 371
372(defgroup follow nil
373 "Synchronize windows showing the same buffer."
374 :prefix "follow-"
375 :group 'windows)
376
372(defvar follow-mode nil 377(defvar follow-mode nil
373 "Variable indicating if Follow mode is active.") 378 "Variable indicating if Follow mode is active.")
374 379
375(defvar follow-mode-hook nil 380(defcustom follow-mode-hook nil
376 "*Hooks to run when follow-mode is turned on.") 381 "*Hooks to run when follow-mode is turned on."
382 :type 'hook
383 :group 'follow)
377 384
378(defvar follow-mode-off-hook nil 385(defcustom follow-mode-off-hook nil
379 "*Hooks to run when follow-mode is turned off.") 386 "*Hooks to run when follow-mode is turned off."
387 :type 'hook
388 :group 'follow)
380 389
381(defvar follow-mode-version "follow.el (Release 1.6)" 390(defvar follow-mode-version "follow.el (Release 1.6)"
382 "The current version of Follow mode.") 391 "The current version of Follow mode.")
@@ -384,21 +393,29 @@
384(defvar follow-mode-map nil 393(defvar follow-mode-map nil
385 "*Minor mode keymap for Follow mode.") 394 "*Minor mode keymap for Follow mode.")
386 395
387(defvar follow-mode-line-text " Follow" 396(defcustom follow-mode-line-text " Follow"
388 "*Text shown in the mode line when Follow mode is active. 397 "*Text shown in the mode line when Follow mode is active.
389Defaults to \" Follow\". Examples of other values 398Defaults to \" Follow\". Examples of other values
390are \" Fw\", or simply \"\".") 399are \" Fw\", or simply \"\"."
400 :type 'string
401 :group 'follow)
391 402
392(defvar follow-auto nil 403(defcustom follow-auto nil
393 "*Non-nil activates Follow mode whenever a file is loaded.") 404 "*Non-nil activates Follow mode whenever a file is loaded."
405 :type 'boolean
406 :group 'follow)
394 407
395(defvar follow-mode-prefix "\C-c." 408(defcustom follow-mode-prefix "\C-c."
396 "*Prefix key to use for follow commands in Follow mode. 409 "*Prefix key to use for follow commands in Follow mode.
397The value of this variable is checked as part of loading Follow mode. 410The value of this variable is checked as part of loading Follow mode.
398After that, changing the prefix key requires manipulating keymaps.") 411After that, changing the prefix key requires manipulating keymaps."
399 412 :type 'string
400(defvar follow-intercept-processes t 413 :group 'follow)
401 "*When non-nil, Follow Mode will monitor process output.") 414
415(defcustom follow-intercept-processes t
416 "*When non-nil, Follow Mode will monitor process output."
417 :type 'boolean
418 :group 'follow)
402 419
403(defvar follow-emacs-version-xemacs-p 420(defvar follow-emacs-version-xemacs-p
404 (string-match "XEmacs" emacs-version) 421 (string-match "XEmacs" emacs-version)
diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el
index 48f792fb0fd..1302171f517 100644
--- a/lisp/shadowfile.el
+++ b/lisp/shadowfile.el
@@ -85,31 +85,47 @@
85;;; Variables 85;;; Variables
86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
87 87
88(defvar shadow-noquery nil 88(defgroup shadow nil
89 "Automatic file copying when saving a file."
90 :prefix "shadow-"
91 :group 'files)
92
93(defcustom shadow-noquery nil
89 "*If t, always copy shadow files without asking. 94 "*If t, always copy shadow files without asking.
90If nil \(the default), always ask. If not nil and not t, ask only if there 95If nil \(the default), always ask. If not nil and not t, ask only if there
91is no buffer currently visiting the file.") 96is no buffer currently visiting the file."
97 :type '(choice (const t) (const nil) (const :tag "Ask if no buffer" maybe))
98 :group 'shadow)
92 99
93(defvar shadow-inhibit-message nil 100(defcustom shadow-inhibit-message nil
94 "*If nonnil, do not display a message when a file needs copying.") 101 "*If nonnil, do not display a message when a file needs copying."
102 :type 'boolean
103 :group 'shadow)
95 104
96(defvar shadow-inhibit-overload nil 105(defcustom shadow-inhibit-overload nil
97 "If nonnil, shadowfile won't redefine C-x C-c. 106 "If nonnil, shadowfile won't redefine C-x C-c.
98Normally it overloads the function `save-buffers-kill-emacs' to check 107Normally it overloads the function `save-buffers-kill-emacs' to check
99for files have been changed and need to be copied to other systems.") 108for files have been changed and need to be copied to other systems."
109 :type 'boolean
110 :group 'shadow)
100 111
101(defvar shadow-info-file nil 112(defcustom shadow-info-file nil
102 "File to keep shadow information in. 113 "File to keep shadow information in.
103The shadow-info-file should be shadowed to all your accounts to 114The shadow-info-file should be shadowed to all your accounts to
104ensure consistency. Default: ~/.shadows") 115ensure consistency. Default: ~/.shadows"
116 :type '(choice (const nil) file)
117 :group 'shadow)
105 118
106(defvar shadow-todo-file nil 119(defcustom shadow-todo-file nil
107 "File to store the list of uncopied shadows in. 120 "File to store the list of uncopied shadows in.
108This means that if a remote system is down, or for any reason you cannot or 121This means that if a remote system is down, or for any reason you cannot or
109decide not to copy your shadow files at the end of one emacs session, it will 122decide not to copy your shadow files at the end of one emacs session, it will
110remember and ask you again in your next emacs session. 123remember and ask you again in your next emacs session.
111This file must NOT be shadowed to any other system, it is host-specific. 124This file must NOT be shadowed to any other system, it is host-specific.
112Default: ~/.shadow_todo") 125Default: ~/.shadow_todo"
126 :type '(choice (const nil) file)
127 :group 'shadow)
128
113 129
114;;; The following two variables should in most cases initialize themselves 130;;; The following two variables should in most cases initialize themselves
115;;; correctly. They are provided as variables in case the defaults are wrong 131;;; correctly. They are provided as variables in case the defaults are wrong
diff --git a/lisp/tempo.el b/lisp/tempo.el
index 6ee10096afc..5434a5f3317 100644
--- a/lisp/tempo.el
+++ b/lisp/tempo.el
@@ -111,26 +111,39 @@
111 111
112;;; User options 112;;; User options
113 113
114(defvar tempo-interactive nil 114(defgroup tempo nil
115 "Flexible template insertion."
116 :prefix "tempo-"
117 :group 'tools)
118
119(defcustom tempo-interactive nil
115 "*Prompt user for strings in templates. 120 "*Prompt user for strings in templates.
116If this variable is non-nil, `tempo-insert' prompts the 121If this variable is non-nil, `tempo-insert' prompts the
117user for text to insert in the templates") 122user for text to insert in the templates"
123 :type 'boolean
124 :group 'tempo)
118 125
119(defvar tempo-insert-region nil 126(defcustom tempo-insert-region nil
120 "*Automatically insert current region when there is a `r' in the template 127 "*Automatically insert current region when there is a `r' in the template
121If this variable is NIL, `r' elements will be treated just like `p' 128If this variable is NIL, `r' elements will be treated just like `p'
122elements, unless the template function is given a prefix (or a non-nil 129elements, unless the template function is given a prefix (or a non-nil
123argument). If this variable is non-NIL, the behaviour is reversed. 130argument). If this variable is non-NIL, the behaviour is reversed.
124 131
125In Transient Mark mode, this option is unused.") 132In Transient Mark mode, this option is unused."
133 :type 'boolean
134 :group 'tempo)
126 135
127(defvar tempo-show-completion-buffer t 136(defcustom tempo-show-completion-buffer t
128 "*If non-NIL, show a buffer with possible completions, when only 137 "*If non-NIL, show a buffer with possible completions, when only
129a partial completion can be found") 138a partial completion can be found"
139 :type 'boolean
140 :group 'tempo)
130 141
131(defvar tempo-leave-completion-buffer nil 142(defcustom tempo-leave-completion-buffer nil
132 "*If NIL, a completion buffer generated by \\[tempo-complete-tag] 143 "*If NIL, a completion buffer generated by \\[tempo-complete-tag]
133disappears at the next keypress; otherwise, it remains forever.") 144disappears at the next keypress; otherwise, it remains forever."
145 :type 'boolean
146 :group 'tempo)
134 147
135;;; Internal variables 148;;; Internal variables
136 149
diff --git a/lisp/textmodes/ispell4.el b/lisp/textmodes/ispell4.el
index 1bca6748052..cce4e0c876b 100644
--- a/lisp/textmodes/ispell4.el
+++ b/lisp/textmodes/ispell4.el
@@ -28,8 +28,15 @@
28 28
29;;; Code: 29;;; Code:
30 30
31(defvar ispell-have-new-look t 31(defgroup ispell4 nil
32 "Non-nil means use the `-r' option when running `look'.") 32 "Interface to GNU ISPELL version 4."
33 :prefix "ispell-"
34 :group 'applications)
35
36(defcustom ispell-have-new-look t
37 "Non-nil means use the `-r' option when running `look'."
38 :type 'boolean
39 :group 'ispell4)
33 40
34(defvar ispell-enable-tex-parser nil 41(defvar ispell-enable-tex-parser nil
35 "Non-nil enables experimental TeX parser in Ispell for TeX-mode buffers.") 42 "Non-nil enables experimental TeX parser in Ispell for TeX-mode buffers.")
@@ -38,16 +45,23 @@
38(defvar ispell-next-message nil 45(defvar ispell-next-message nil
39 "An integer: where in `*ispell*' buffer to find next message from Ispell.") 46 "An integer: where in `*ispell*' buffer to find next message from Ispell.")
40 47
41(defvar ispell-command "ispell" 48(defcustom ispell-command "ispell"
42 "Command for running Ispell.") 49 "Command for running Ispell."
43(defvar ispell-command-options nil 50 :type 'string
51 :group 'ispell4)
52
53(defcustom ispell-command-options nil
44 "*String (or list of strings) to pass to Ispell as command arguments. 54 "*String (or list of strings) to pass to Ispell as command arguments.
45You can specify your private dictionary via the -p <filename> option. 55You can specify your private dictionary via the -p <filename> option.
46The -S option is always passed to Ispell as the last parameter, 56The -S option is always passed to Ispell as the last parameter,
47and need not be mentioned here.") 57and need not be mentioned here."
58 :type '(repeat string)
59 :group 'ispell4)
48 60
49(defvar ispell-look-command "look" 61(defcustom ispell-look-command "look"
50 "*Command for running look.") 62 "*Command for running look."
63 :type 'string
64 :group 'ispell4)
51 65
52;Each marker in this list points to the start of a word that 66;Each marker in this list points to the start of a word that
53;ispell thought was bad last time it did the :file command. 67;ispell thought was bad last time it did the :file command.
@@ -629,8 +643,10 @@ L lookup; Q quit\n")
629 (kill-emacs 1)) 643 (kill-emacs 1))
630 (write-region (point-min) (point-max) "ispell.info")) 644 (write-region (point-min) (point-max) "ispell.info"))
631 645
632(defvar ispell-highlight t 646(defcustom ispell-highlight t
633 "*Non-nil means to highlight ispell words.") 647 "*Non-nil means to highlight ispell words."
648 :type 'boolean
649 :group 'ispell4)
634 650
635(defvar ispell-overlay nil) 651(defvar ispell-overlay nil)
636 652
@@ -756,12 +772,15 @@ L lookup; Q quit\n")
756 772
757;;;; User-defined variables. 773;;;; User-defined variables.
758 774
759(defvar ispell-look-dictionary nil 775(defcustom ispell-look-dictionary nil
760 "*If non-nil then spelling dictionary as string for `ispell-complete-word'. 776 "*If non-nil then spelling dictionary as string for `ispell-complete-word'.
761Overrides default dictionary file such as \"/usr/dict/words\" or GNU look's 777Overrides default dictionary file such as \"/usr/dict/words\" or GNU look's
762\"${prefix}/lib/ispell/ispell.words\"") 778\"${prefix}/lib/ispell/ispell.words\""
779 :type '(choice (const nil) file)
780 :group 'ispell4)
781
763 782
764(defvar ispell-gnu-look-still-broken-p nil 783(defcustom ispell-gnu-look-still-broken-p nil
765 "*t if GNU look -r can give different results with and without trailing `.*'. 784 "*t if GNU look -r can give different results with and without trailing `.*'.
766Example: `look -dfr \"^ya\" foo' returns nothing, while `look -dfr \"^ya.*\" foo' 785Example: `look -dfr \"^ya\" foo' returns nothing, while `look -dfr \"^ya.*\" foo'
767returns `yacc', where `foo' is a dictionary file containing the three lines 786returns `yacc', where `foo' is a dictionary file containing the three lines
@@ -772,7 +791,9 @@ returns `yacc', where `foo' is a dictionary file containing the three lines
772 791
773Both commands should return `yacc'. If `ispell-complete-word' erroneously 792Both commands should return `yacc'. If `ispell-complete-word' erroneously
774states that no completions exist for a string, then setting this variable to t 793states that no completions exist for a string, then setting this variable to t
775will help find those completions.") 794will help find those completions."
795 :type 'boolean
796 :group 'ispell4)
776 797
777;;;; Internal variables. 798;;;; Internal variables.
778 799
@@ -959,10 +980,12 @@ an interior word fragment. `ispell-have-new-look' should be t."
959 "\\'\\`" ; An unmatchable string if string is null. 980 "\\'\\`" ; An unmatchable string if string is null.
960 (regexp-quote string))) 981 (regexp-quote string)))
961 982
962(defvar ispell-message-cite-regexp "^ \\|^\t" 983(defcustom ispell-message-cite-regexp "^ \\|^\t"
963 "*Regular expression to match lines cited from one message into another.") 984 "*Regular expression to match lines cited from one message into another."
985 :type 'regexp
986 :group 'ispell4)
964 987
965(defvar ispell-message-text-end 988(defcustom ispell-message-text-end
966 (concat "^\\(" (mapconcat (function identity) 989 (concat "^\\(" (mapconcat (function identity)
967 '( 990 '(
968 ;; Matches postscript files. 991 ;; Matches postscript files.
@@ -979,10 +1002,14 @@ an interior word fragment. `ispell-have-new-look' should be t."
979 "\\)") 1002 "\\)")
980 "*End of text which will be checked in ispell-message. 1003 "*End of text which will be checked in ispell-message.
981If it is a string, limit at first occurrence of that regular expression. 1004If it is a string, limit at first occurrence of that regular expression.
982Otherwise, it must be a function which is called to get the limit.") 1005Otherwise, it must be a function which is called to get the limit."
1006 :type '(choice string function)
1007 :group 'ispell4)
983 1008
984(defvar ispell-message-limit (* 100 80) 1009(defcustom ispell-message-limit (* 100 80)
985 "*Ispell-message will check no more than this number of characters.") 1010 "*Ispell-message will check no more than this number of characters."
1011 :type 'integer
1012 :group 'ispell4)
986 1013
987;;;autoload 1014;;;autoload
988(defun ispell-message () 1015(defun ispell-message ()
@@ -1088,4 +1115,4 @@ Or you can bind the function to C-c i in gnus or mail with:
1088 1115
1089(provide 'ispell) 1116(provide 'ispell)
1090 1117
1091;;; ispell.el ends here 1118;;; ispell4.el ends here
diff --git a/lisp/tmm.el b/lisp/tmm.el
index 35630aa6d5a..c532ec18f1f 100644
--- a/lisp/tmm.el
+++ b/lisp/tmm.el
@@ -36,6 +36,11 @@
36 36
37(require 'electric) 37(require 'electric)
38 38
39(defgroup tmm nil
40 "Text mode access to menu-bar."
41 :prefix "tmm-"
42 :group 'menu)
43
39;;; The following will be localized, added only to pacify the compiler. 44;;; The following will be localized, added only to pacify the compiler.
40(defvar tmm-short-cuts) 45(defvar tmm-short-cuts)
41(defvar tmm-old-mb-map nil) 46(defvar tmm-old-mb-map nil)
@@ -94,15 +99,17 @@ See the documentation for `tmm-prompt'."
94 (interactive "e") 99 (interactive "e")
95 (tmm-menubar (car (posn-x-y (event-start event))))) 100 (tmm-menubar (car (posn-x-y (event-start event)))))
96 101
97(defvar tmm-mid-prompt "==>" 102(defcustom tmm-mid-prompt "==>"
98 "*String to insert between shortcut and menu item. 103 "*String to insert between shortcut and menu item.
99If nil, there will be no shortcuts. It should not consist only of spaces, 104If nil, there will be no shortcuts. It should not consist only of spaces,
100or else the correct item might not be found in the `*Completions*' buffer.") 105or else the correct item might not be found in the `*Completions*' buffer."
106 :type 'string
107 :group 'tmm)
101 108
102(defvar tmm-mb-map nil 109(defvar tmm-mb-map nil
103 "A place to store minibuffer map.") 110 "A place to store minibuffer map.")
104 111
105(defvar tmm-completion-prompt 112(defcustom tmm-completion-prompt
106 "Press PageUp Key to reach this buffer from the minibuffer. 113 "Press PageUp Key to reach this buffer from the minibuffer.
107Alternatively, you can use Up/Down keys (or your History keys) to change 114Alternatively, you can use Up/Down keys (or your History keys) to change
108the item in the minibuffer, and press RET when you are done, or press the 115the item in the minibuffer, and press RET when you are done, or press the
@@ -110,17 +117,25 @@ marked letters to pick up your choice. Type C-g or ESC ESC ESC to cancel.
110" 117"
111 "*Help text to insert on the top of the completion buffer. 118 "*Help text to insert on the top of the completion buffer.
112To save space, you can set this to nil, 119To save space, you can set this to nil,
113in which case the standard introduction text is deleted too.") 120in which case the standard introduction text is deleted too."
121 :type '(choice string (const nil))
122 :group 'tmm)
114 123
115(defvar tmm-shortcut-style '(downcase upcase) 124(defcustom tmm-shortcut-style '(downcase upcase)
116 "*What letters to use as menu shortcuts. 125 "*What letters to use as menu shortcuts.
117Must be either one of the symbols `downcase' or `upcase', 126Must be either one of the symbols `downcase' or `upcase',
118or else a list of the two in the order you prefer.") 127or else a list of the two in the order you prefer."
128 :type '(choice (const downcase)
129 (const upcase)
130 (repeat (choice (const downcase) (const upcase))))
131 :group 'tmm)
119 132
120(defvar tmm-shortcut-words 2 133(defcustom tmm-shortcut-words 2
121 "*How many successive words to try for shortcuts, nil means all. 134 "*How many successive words to try for shortcuts, nil means all.
122If you use only one of `downcase' or `upcase' for `tmm-shortcut-style', 135If you use only one of `downcase' or `upcase' for `tmm-shortcut-style',
123specify nil for this variable.") 136specify nil for this variable."
137 :type '(choice integer (const nil))
138 :group 'tmm)
124 139
125;;;###autoload 140;;;###autoload
126(defun tmm-prompt (menu &optional in-popup default-item) 141(defun tmm-prompt (menu &optional in-popup default-item)
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index ae5affc2ce1..1eeed59715f 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -302,6 +302,11 @@
302 302
303;;; Code: 303;;; Code:
304 304
305(defgroup vcursor nil
306 "Manipulate an alternative (\"virtual\") cursor."
307 :prefix "vcursor-"
308 :group 'display)
309
305(or (memq 'vcursor (face-list)) 310(or (memq 'vcursor (face-list))
306 (progn 311 (progn
307 (copy-face 'modeline 'vcursor) 312 (copy-face 'modeline 'vcursor)
@@ -312,24 +317,32 @@
312 (set-face-background 'vcursor "cyan"))) 317 (set-face-background 'vcursor "cyan")))
313 (set-face-underline-p 'vcursor t))) 318 (set-face-underline-p 'vcursor t)))
314 319
315(defvar vcursor-auto-disable nil 320(defcustom vcursor-auto-disable nil
316 "*If non-nil, disable the virtual cursor after use. 321 "*If non-nil, disable the virtual cursor after use.
317Any non-vcursor command will force `vcursor-disable' to be called.") 322Any non-vcursor command will force `vcursor-disable' to be called."
323 :type 'boolean
324 :group 'vcursor)
318 325
319(defvar vcursor-key-bindings t 326(defcustom vcursor-key-bindings t
320 "*How to bind keys when vcursor is loaded. 327 "*How to bind keys when vcursor is loaded.
321If t (the default), guess; if xterm, use bindings suitable for an 328If t (the default), guess; if xterm, use bindings suitable for an
322X terminal; if oemacs, use bindings which work on a PC with Oemacs. 329X terminal; if oemacs, use bindings which work on a PC with Oemacs.
323If nil, don't define any key bindings.") 330If nil, don't define any key bindings."
331 :type '(choice (const t) (const xterm) (const oemacs) (const nil))
332 :group 'vcursor)
324 333
325(defvar vcursor-interpret-input nil 334(defcustom vcursor-interpret-input nil
326 "*If non-nil, input from the vcursor is treated as interactive input. 335 "*If non-nil, input from the vcursor is treated as interactive input.
327This will cause text insertion to be much slower. Note that no special 336This will cause text insertion to be much slower. Note that no special
328interpretation of strings is done: \"\C-x\" is a string of four 337interpretation of strings is done: \"\C-x\" is a string of four
329characters. The default is simply to copy strings.") 338characters. The default is simply to copy strings."
339 :type 'boolean
340 :group 'vcursor)
330 341
331(defvar vcursor-string "**>" 342(defcustom vcursor-string "**>"
332 "String used to show the vcursor position on dumb terminals.") 343 "String used to show the vcursor position on dumb terminals."
344 :type 'string
345 :group 'vcursor)
333 346
334(defvar vcursor-overlay nil 347(defvar vcursor-overlay nil
335 "Overlay for the virtual cursor. 348 "Overlay for the virtual cursor.
@@ -346,8 +359,10 @@ scrolling set this. It is used by the `vcursor-auto-disable' code.")
346;; could do some memq-ing with last-command instead, but this will 359;; could do some memq-ing with last-command instead, but this will
347;; automatically handle any new commands using the primitives. 360;; automatically handle any new commands using the primitives.
348 361
349(defvar vcursor-copy-flag nil 362(defcustom vcursor-copy-flag nil
350 "*Non-nil means moving vcursor should copy characters moved over to point.") 363 "*Non-nil means moving vcursor should copy characters moved over to point."
364 :type 'boolean
365 :group 'vcursor)
351 366
352(defvar vcursor-temp-goal-column nil 367(defvar vcursor-temp-goal-column nil
353 "Keeps track of temporary goal columns for the virtual cursor.") 368 "Keeps track of temporary goal columns for the virtual cursor.")
diff --git a/lisp/xscheme.el b/lisp/xscheme.el
index 05792774684..32b402103db 100644
--- a/lisp/xscheme.el
+++ b/lisp/xscheme.el
@@ -33,21 +33,33 @@
33 33
34(require 'scheme) 34(require 'scheme)
35 35
36(defvar scheme-program-name "scheme" 36(defgroup xscheme nil
37 "*Program invoked by the `run-scheme' command.") 37 "Major mode for editing Scheme and interacting with MIT's C-Scheme."
38 38 :group 'lisp)
39(defvar scheme-band-name nil 39
40 "*Band loaded by the `run-scheme' command.") 40(defcustom scheme-program-name "scheme"
41 41 "*Program invoked by the `run-scheme' command."
42(defvar scheme-program-arguments nil 42 :type 'string
43 "*Arguments passed to the Scheme program by the `run-scheme' command.") 43 :group 'xscheme)
44 44
45(defvar xscheme-allow-pipelined-evaluation t 45(defcustom scheme-band-name nil
46 "*Band loaded by the `run-scheme' command."
47 :type '(choice (const nil) string)
48 :group 'xscheme)
49
50(defcustom scheme-program-arguments nil
51 "*Arguments passed to the Scheme program by the `run-scheme' command."
52 :type '(choice (const nil) string)
53 :group 'xscheme)
54
55(defcustom xscheme-allow-pipelined-evaluation t
46 "If non-nil, an expression may be transmitted while another is evaluating. 56 "If non-nil, an expression may be transmitted while another is evaluating.
47Otherwise, attempting to evaluate an expression before the previous expression 57Otherwise, attempting to evaluate an expression before the previous expression
48has finished evaluating will signal an error.") 58has finished evaluating will signal an error."
59 :type 'boolean
60 :group 'xscheme)
49 61
50(defvar xscheme-startup-message 62(defcustom xscheme-startup-message
51 "This is the Scheme process buffer. 63 "This is the Scheme process buffer.
52Type \\[advertised-xscheme-send-previous-expression] to evaluate the expression before point. 64Type \\[advertised-xscheme-send-previous-expression] to evaluate the expression before point.
53Type \\[xscheme-send-control-g-interrupt] to abort evaluation. 65Type \\[xscheme-send-control-g-interrupt] to abort evaluation.
@@ -55,10 +67,14 @@ Type \\[describe-mode] for more information.
55 67
56" 68"
57 "String to insert into Scheme process buffer first time it is started. 69 "String to insert into Scheme process buffer first time it is started.
58Is processed with `substitute-command-keys' first.") 70Is processed with `substitute-command-keys' first."
71 :type 'string
72 :group 'xscheme)
59 73
60(defvar xscheme-signal-death-message nil 74(defcustom xscheme-signal-death-message nil
61 "If non-nil, causes a message to be generated when the Scheme process dies.") 75 "If non-nil, causes a message to be generated when the Scheme process dies."
76 :type 'boolean
77 :group 'xscheme)
62 78
63(defun xscheme-evaluation-commands (keymap) 79(defun xscheme-evaluation-commands (keymap)
64 (define-key keymap "\e\C-x" 'xscheme-send-definition) 80 (define-key keymap "\e\C-x" 'xscheme-send-definition)
@@ -477,9 +493,11 @@ from being inserted into the process-buffer.")
477(defvar xscheme-string-receiver nil 493(defvar xscheme-string-receiver nil
478 "Procedure to send the string argument from the scheme process.") 494 "Procedure to send the string argument from the scheme process.")
479 495
480(defvar xscheme-start-hook nil 496(defcustom xscheme-start-hook nil
481 "If non-nil, a procedure to call when the Scheme process is started. 497 "If non-nil, a procedure to call when the Scheme process is started.
482When called, the current buffer will be the Scheme process-buffer.") 498When called, the current buffer will be the Scheme process-buffer."
499 :type 'hook
500 :group 'xscheme)
483 501
484(defvar xscheme-runlight-string nil) 502(defvar xscheme-runlight-string nil)
485(defvar xscheme-mode-string nil) 503(defvar xscheme-mode-string nil)