aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1997-05-05 11:57:31 +0000
committerRichard M. Stallman1997-05-05 11:57:31 +0000
commit69c1dd37e33fdfc03617413a453c1fcfb3cd0551 (patch)
tree92155d65b1602191d136161b537e7d9085956b9a
parent93cee14b0a2362d010dac9a4795e741b309cc58f (diff)
downloademacs-69c1dd37e33fdfc03617413a453c1fcfb3cd0551.tar.gz
emacs-69c1dd37e33fdfc03617413a453c1fcfb3cd0551.zip
Use defgroup and defcustom.
-rw-r--r--lisp/gud.el34
-rw-r--r--lisp/mail/metamail.el26
-rw-r--r--lisp/simple.el200
3 files changed, 189 insertions, 71 deletions
diff --git a/lisp/gud.el b/lisp/gud.el
index 2bc3affb1fa..02b955ef466 100644
--- a/lisp/gud.el
+++ b/lisp/gud.el
@@ -44,8 +44,16 @@
44;; ====================================================================== 44;; ======================================================================
45;; GUD commands must be visible in C buffers visited by GUD 45;; GUD commands must be visible in C buffers visited by GUD
46 46
47(defvar gud-key-prefix "\C-x\C-a" 47(defgroup gud nil
48 "Prefix of all GUD commands valid in C buffers.") 48 "Grand Unified Debugger mode for gdb, sdb, dbx, or xdb under Emacs."
49 :group 'unix
50 :group 'tools)
51
52
53(defcustom gud-key-prefix "\C-x\C-a"
54 "Prefix of all GUD commands valid in C buffers."
55 :type 'string
56 :group 'gud)
49 57
50(global-set-key (concat gud-key-prefix "\C-l") 'gud-refresh) 58(global-set-key (concat gud-key-prefix "\C-l") 'gud-refresh)
51(define-key ctl-x-map " " 'gud-break) ;; backward compatibility hack 59(define-key ctl-x-map " " 'gud-break) ;; backward compatibility hack
@@ -495,13 +503,17 @@ and source-file directory for your debugger."
495;;; History of argument lists passed to dbx. 503;;; History of argument lists passed to dbx.
496(defvar gud-dbx-history nil) 504(defvar gud-dbx-history nil)
497 505
498(defvar gud-dbx-directories nil 506(defcustom gud-dbx-directories nil
499 "*A list of directories that dbx should search for source code. 507 "*A list of directories that dbx should search for source code.
500If nil, only source files in the program directory 508If nil, only source files in the program directory
501will be known to dbx. 509will be known to dbx.
502 510
503The file names should be absolute, or relative to the directory 511The file names should be absolute, or relative to the directory
504containing the executable being debugged.") 512containing the executable being debugged."
513 :type '(choice (const :tag "Current Directory" nil)
514 (repeat :value ("")
515 directory))
516 :group 'gud)
505 517
506(defun gud-dbx-massage-args (file args) 518(defun gud-dbx-massage-args (file args)
507 (nconc (let ((directories gud-dbx-directories) 519 (nconc (let ((directories gud-dbx-directories)
@@ -802,13 +814,17 @@ and source-file directory for your debugger."
802;;; History of argument lists passed to xdb. 814;;; History of argument lists passed to xdb.
803(defvar gud-xdb-history nil) 815(defvar gud-xdb-history nil)
804 816
805(defvar gud-xdb-directories nil 817(defcustom gud-xdb-directories nil
806 "*A list of directories that xdb should search for source code. 818 "*A list of directories that xdb should search for source code.
807If nil, only source files in the program directory 819If nil, only source files in the program directory
808will be known to xdb. 820will be known to xdb.
809 821
810The file names should be absolute, or relative to the directory 822The file names should be absolute, or relative to the directory
811containing the executable being debugged.") 823containing the executable being debugged."
824 :type '(choice (const :tag "Current Directory" nil)
825 (repeat :value ("")
826 directory))
827 :group 'gud)
812 828
813(defun gud-xdb-massage-args (file args) 829(defun gud-xdb-massage-args (file args)
814 (nconc (let ((directories gud-xdb-directories) 830 (nconc (let ((directories gud-xdb-directories)
@@ -983,8 +999,10 @@ directories if your program contains sources from more than one directory."
983 (gud-make-debug-menu) 999 (gud-make-debug-menu)
984 buf))) 1000 buf)))
985 1001
986(defvar perldb-command-name "perl" 1002(defcustom perldb-command-name "perl"
987 "File name for executing Perl.") 1003 "File name for executing Perl."
1004 :type 'string
1005 :group 'gud)
988 1006
989;;;###autoload 1007;;;###autoload
990(defun perldb (command-line) 1008(defun perldb (command-line)
diff --git a/lisp/mail/metamail.el b/lisp/mail/metamail.el
index 2c2a67874a9..c72cef5d6a5 100644
--- a/lisp/mail/metamail.el
+++ b/lisp/mail/metamail.el
@@ -3,7 +3,7 @@
3;; Copyright (C) 1993, 1996 Masanobu UMEDA 3;; Copyright (C) 1993, 1996 Masanobu UMEDA
4 4
5;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp> 5;; Author: Masanobu UMEDA <umerin@mse.kyutech.ac.jp>
6;; Version: $Id: /home/gd/gnu/emacs/19.0/lisp/RCS/metamail.el,v 1.5 1996/04/19 18:05:38 rms Exp eggert $ 6;; Version: $Id: metamail.el,v 1.6 1997/05/05 05:45:46 eggert Exp rms $
7;; Keywords: mail, news, mime, multimedia 7;; Keywords: mail, news, mime, multimedia
8 8
9;; This file is part of GNU Emacs. 9;; This file is part of GNU Emacs.
@@ -48,11 +48,21 @@
48 48
49;;; Code: 49;;; Code:
50 50
51(defvar metamail-program-name "metamail" 51(defgroup metamail nil
52 "*Metamail program name.") 52 "Metamail interface for Emacs."
53 :group 'mail
54 :group 'hypermedia
55 :group 'processes)
53 56
54(defvar metamail-mailer-name "emacs" 57(defcustom metamail-program-name "metamail"
55 "*Mailer name set to MM_MAILER environment variable.") 58 "*Metamail program name."
59 :type 'string
60 :group 'metamail)
61
62(defcustom metamail-mailer-name "emacs"
63 "*Mailer name set to MM_MAILER environment variable."
64 :type 'string
65 :group 'metamail)
56 66
57(defvar metamail-environment '("KEYHEADS=*" "MM_QUIET=1") 67(defvar metamail-environment '("KEYHEADS=*" "MM_QUIET=1")
58 "*Environment variables passed to `metamail'. 68 "*Environment variables passed to `metamail'.
@@ -60,13 +70,15 @@ It must be a list of strings that have the format ENVVARNAME=VALUE.
60It is not expected to be altered globally by `set' or `setq'. 70It is not expected to be altered globally by `set' or `setq'.
61Instead, change its value temporary using `let' or `let*' form.") 71Instead, change its value temporary using `let' or `let*' form.")
62 72
63(defvar metamail-switches '("-x" "-d" "-z") 73(defcustom metamail-switches '("-x" "-d" "-z")
64 "*Switches for `metamail' program. 74 "*Switches for `metamail' program.
65`-z' is required to remove zap file. 75`-z' is required to remove zap file.
66It is not expected to be altered globally by `set' or `setq'. 76It is not expected to be altered globally by `set' or `setq'.
67Instead, change its value temporary using `let' or `let*' form. 77Instead, change its value temporary using `let' or `let*' form.
68`-m MAILER' argument is automatically generated from the 78`-m MAILER' argument is automatically generated from the
69`metamail-mailer-name' variable.") 79`metamail-mailer-name' variable."
80 :type '(repeat (string :tag "Switch"))
81 :group 'metamail)
70 82
71;;;###autoload 83;;;###autoload
72(defun metamail-interpret-header () 84(defun metamail-interpret-header ()
diff --git a/lisp/simple.el b/lisp/simple.el
index a6c99183352..178b020b40d 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1,6 +1,7 @@
1;;; simple.el --- basic editing commands for Emacs 1;;; simple.el --- basic editing commands for Emacs
2 2
3;; Copyright (C) 1985, 86, 87, 93, 94, 95 Free Software Foundation, Inc. 3;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 1997
4;; Free Software Foundation, Inc.
4 5
5;; This file is part of GNU Emacs. 6;; This file is part of GNU Emacs.
6 7
@@ -26,6 +27,22 @@
26 27
27;;; Code: 28;;; Code:
28 29
30(defgroup killing nil
31 "Killing and yanking commands"
32 :group 'editing)
33
34(defgroup fill-comments nil
35 "Indenting and filling of comments."
36 :prefix "comment-"
37 :group 'fill)
38
39(defgroup paren-matching nil
40 "Highlight (un)matching of parens and expressions."
41 :prefix "paren-"
42 :prefix "blink-matching-"
43 :group 'matching)
44
45
29(defun newline (&optional arg) 46(defun newline (&optional arg)
30 "Insert a newline, and move to left margin of the new line if it's blank. 47 "Insert a newline, and move to left margin of the new line if it's blank.
31The newline is marked with the text-property `hard'. 48The newline is marked with the text-property `hard'.
@@ -1111,8 +1128,10 @@ These commands include \\[set-mark-command] and \\[start-kbd-macro]."
1111 (forward-line (- arg)) 1128 (forward-line (- arg))
1112 (skip-chars-forward " \t")) 1129 (skip-chars-forward " \t"))
1113 1130
1114(defvar kill-whole-line nil 1131(defcustom kill-whole-line nil
1115 "*If non-nil, `kill-line' with no arg at beg of line kills the whole line.") 1132 "*If non-nil, `kill-line' with no arg at beg of line kills the whole line."
1133 :type 'boolean
1134 :group 'killing)
1116 1135
1117(defun kill-line (&optional arg) 1136(defun kill-line (&optional arg)
1118 "Kill the rest of the current line; if no nonblanks there, kill thru newline. 1137 "Kill the rest of the current line; if no nonblanks there, kill thru newline.
@@ -1192,8 +1211,10 @@ interact nicely with `interprogram-cut-function' and
1192interaction; you may want to use them instead of manipulating the kill 1211interaction; you may want to use them instead of manipulating the kill
1193ring directly.") 1212ring directly.")
1194 1213
1195(defvar kill-ring-max 30 1214(defcustom kill-ring-max 30
1196 "*Maximum length of kill ring before oldest elements are thrown away.") 1215 "*Maximum length of kill ring before oldest elements are thrown away."
1216 :type 'integer
1217 :group 'killing)
1197 1218
1198(defvar kill-ring-yank-pointer nil 1219(defvar kill-ring-yank-pointer nil
1199 "The tail of the kill ring whose car is the last thing yanked.") 1220 "The tail of the kill ring whose car is the last thing yanked.")
@@ -1255,8 +1276,10 @@ yanking point; just return the Nth kill forward."
1255 1276
1256;;;; Commands for manipulating the kill ring. 1277;;;; Commands for manipulating the kill ring.
1257 1278
1258(defvar kill-read-only-ok nil 1279(defcustom kill-read-only-ok nil
1259 "*Non-nil means don't signal an error for killing read-only text.") 1280 "*Non-nil means don't signal an error for killing read-only text."
1281 :type 'boolean
1282 :group 'killing)
1260 1283
1261(put 'text-read-only 'error-conditions 1284(put 'text-read-only 'error-conditions
1262 '(text-read-only buffer-read-only error)) 1285 '(text-read-only buffer-read-only error))
@@ -1573,15 +1596,19 @@ store it in a Lisp variable. Example:
1573(make-variable-buffer-local 'mark-ring) 1596(make-variable-buffer-local 'mark-ring)
1574(put 'mark-ring 'permanent-local t) 1597(put 'mark-ring 'permanent-local t)
1575 1598
1576(defvar mark-ring-max 16 1599(defcustom mark-ring-max 16
1577 "*Maximum size of mark ring. Start discarding off end if gets this big.") 1600 "*Maximum size of mark ring. Start discarding off end if gets this big."
1601 :type 'integer
1602 :group 'editing-basics)
1578 1603
1579(defvar global-mark-ring nil 1604(defvar global-mark-ring nil
1580 "The list of saved global marks, most recent first.") 1605 "The list of saved global marks, most recent first.")
1581 1606
1582(defvar global-mark-ring-max 16 1607(defcustom global-mark-ring-max 16
1583 "*Maximum size of global mark ring. \ 1608 "*Maximum size of global mark ring. \
1584Start discarding off end if gets this big.") 1609Start discarding off end if gets this big."
1610 :type 'integer
1611 :group 'editing-basics)
1585 1612
1586(defun set-mark-command (arg) 1613(defun set-mark-command (arg)
1587 "Set mark at where point is, or jump to mark. 1614 "Set mark at where point is, or jump to mark.
@@ -1702,8 +1729,10 @@ incremental search, \\[beginning-of-buffer], and \\[end-of-buffer]."
1702 (goto-char position) 1729 (goto-char position)
1703 (switch-to-buffer buffer))) 1730 (switch-to-buffer buffer)))
1704 1731
1705(defvar next-line-add-newlines t 1732(defcustom next-line-add-newlines t
1706 "*If non-nil, `next-line' inserts newline to avoid `end of buffer' error.") 1733 "*If non-nil, `next-line' inserts newline to avoid `end of buffer' error."
1734 :type 'boolean
1735 :group 'editing-basics)
1707 1736
1708(defun next-line (arg) 1737(defun next-line (arg)
1709 "Move cursor vertically down ARG lines. 1738 "Move cursor vertically down ARG lines.
@@ -1759,13 +1788,18 @@ to use and more reliable (no dependence on goal column, etc.)."
1759 (line-move (- arg))) 1788 (line-move (- arg)))
1760 nil) 1789 nil)
1761 1790
1762(defvar track-eol nil 1791(defcustom track-eol nil
1763 "*Non-nil means vertical motion starting at end of line keeps to ends of lines. 1792 "*Non-nil means vertical motion starting at end of line keeps to ends of lines.
1764This means moving to the end of each line moved onto. 1793This means moving to the end of each line moved onto.
1765The beginning of a blank line does not count as the end of a line.") 1794The beginning of a blank line does not count as the end of a line."
1766 1795 :type 'boolean
1767(defvar goal-column nil 1796 :group 'editing-basics)
1768 "*Semipermanent goal column for vertical motion, as set by \\[set-goal-column], or nil.") 1797
1798(defcustom goal-column nil
1799 "*Semipermanent goal column for vertical motion, as set by \\[set-goal-column], or nil."
1800 :type '(choice integer
1801 (const :tag "None" nil))
1802 :group 'editing-basics)
1769(make-variable-buffer-local 'goal-column) 1803(make-variable-buffer-local 'goal-column)
1770 1804
1771(defvar temporary-goal-column 0 1805(defvar temporary-goal-column 0
@@ -1774,9 +1808,11 @@ It is the column where point was
1774at the start of current run of vertical motion commands. 1808at the start of current run of vertical motion commands.
1775When the `track-eol' feature is doing its job, the value is 9999.") 1809When the `track-eol' feature is doing its job, the value is 9999.")
1776 1810
1777(defvar line-move-ignore-invisible nil 1811(defcustom line-move-ignore-invisible nil
1778 "*Non-nil means \\[next-line] and \\[previous-line] ignore invisible lines. 1812 "*Non-nil means \\[next-line] and \\[previous-line] ignore invisible lines.
1779Outline mode sets this.") 1813Outline mode sets this."
1814 :type 'boolean
1815 :group 'editing-basics)
1780 1816
1781;; This is the guts of next-line and previous-line. 1817;; This is the guts of next-line and previous-line.
1782;; Arg says how many lines to move. 1818;; Arg says how many lines to move.
@@ -1884,10 +1920,13 @@ The goal column is stored in the variable `goal-column'."
1884;;; will be built into the C level and all the (hscroll-point-visible) calls 1920;;; will be built into the C level and all the (hscroll-point-visible) calls
1885;;; will go away. 1921;;; will go away.
1886 1922
1887(defvar hscroll-step 0 1923(defcustom hscroll-step 0
1888 "*The number of columns to try scrolling a window by when point moves out. 1924 "*The number of columns to try scrolling a window by when point moves out.
1889If that fails to bring point back on frame, point is centered instead. 1925If that fails to bring point back on frame, point is centered instead.
1890If this is zero, point is always centered after it moves off frame.") 1926If this is zero, point is always centered after it moves off frame."
1927 :type '(choice (const :tag "Alway Center" 0)
1928 (integer :format "%v" 1))
1929 :group 'editing-basics)
1891 1930
1892(defun hscroll-point-visible () 1931(defun hscroll-point-visible ()
1893 "Scrolls the selected window horizontally to make point visible." 1932 "Scrolls the selected window horizontally to make point visible."
@@ -2127,24 +2166,34 @@ With argument 0, interchanges line point is in with line mark is in."
2127 (delete-region (point) (+ (point) len1)) 2166 (delete-region (point) (+ (point) len1))
2128 (insert word2))) 2167 (insert word2)))
2129 2168
2130(defvar comment-column 32 2169(defcustom comment-column 32
2131 "*Column to indent right-margin comments to. 2170 "*Column to indent right-margin comments to.
2132Setting this variable automatically makes it local to the current buffer. 2171Setting this variable automatically makes it local to the current buffer.
2133Each mode establishes a different default value for this variable; you 2172Each mode establishes a different default value for this variable; you
2134can set the value for a particular mode using that mode's hook.") 2173can set the value for a particular mode using that mode's hook."
2174 :type 'integer
2175 :group 'fill-comments)
2135(make-variable-buffer-local 'comment-column) 2176(make-variable-buffer-local 'comment-column)
2136 2177
2137(defvar comment-start nil 2178(defcustom comment-start nil
2138 "*String to insert to start a new comment, or nil if no comment syntax.") 2179 "*String to insert to start a new comment, or nil if no comment syntax."
2180 :type '(choice (const :tag "None" nil)
2181 string)
2182 :group 'fill-comments)
2139 2183
2140(defvar comment-start-skip nil 2184(defcustom comment-start-skip nil
2141 "*Regexp to match the start of a comment plus everything up to its body. 2185 "*Regexp to match the start of a comment plus everything up to its body.
2142If there are any \\(...\\) pairs, the comment delimiter text is held to begin 2186If there are any \\(...\\) pairs, the comment delimiter text is held to begin
2143at the place matched by the close of the first pair.") 2187at the place matched by the close of the first pair."
2188 :type '(choice (const :tag "None" nil)
2189 regexp)
2190 :group 'fill-comments)
2144 2191
2145(defvar comment-end "" 2192(defcustom comment-end ""
2146 "*String to insert to end a new comment. 2193 "*String to insert to end a new comment.
2147Should be an empty string if comments are terminated by end-of-line.") 2194Should be an empty string if comments are terminated by end-of-line."
2195 :type 'string
2196 :group 'fill-comments)
2148 2197
2149(defvar comment-indent-hook nil 2198(defvar comment-indent-hook nil
2150 "Obsolete variable for function to compute desired indentation for a comment. 2199 "Obsolete variable for function to compute desired indentation for a comment.
@@ -2157,16 +2206,22 @@ the comment's starting delimiter.")
2157This function is called with no args with point at the beginning of 2206This function is called with no args with point at the beginning of
2158the comment's starting delimiter.") 2207the comment's starting delimiter.")
2159 2208
2160(defvar block-comment-start nil 2209(defcustom block-comment-start nil
2161 "*String to insert to start a new comment on a line by itself. 2210 "*String to insert to start a new comment on a line by itself.
2162If nil, use `comment-start' instead. 2211If nil, use `comment-start' instead.
2163Note that the regular expression `comment-start-skip' should skip this string 2212Note that the regular expression `comment-start-skip' should skip this string
2164as well as the `comment-start' string.") 2213as well as the `comment-start' string."
2214 :type '(choice (const :tag "Use comment-start" nil)
2215 string)
2216 :group 'fill-comments)
2165 2217
2166(defvar block-comment-end nil 2218(defcustom block-comment-end nil
2167 "*String to insert to end a new comment on a line by itself. 2219 "*String to insert to end a new comment on a line by itself.
2168Should be an empty string if comments are terminated by end-of-line. 2220Should be an empty string if comments are terminated by end-of-line.
2169If nil, use `comment-end' instead.") 2221If nil, use `comment-end' instead."
2222 :type '(choice (const :tag "Use comment-end" nil)
2223 string)
2224 :group 'fill-comments)
2170 2225
2171(defun indent-for-comment () 2226(defun indent-for-comment ()
2172 "Indent this line's comment to comment column, or insert an empty comment." 2227 "Indent this line's comment to comment column, or insert an empty comment."
@@ -2404,13 +2459,19 @@ or adjacent to a word."
2404 (buffer-substring start end))) 2459 (buffer-substring start end)))
2405 (buffer-substring start end))))) 2460 (buffer-substring start end)))))
2406 2461
2407(defvar fill-prefix nil 2462(defcustom fill-prefix nil
2408 "*String for filling to insert at front of new line, or nil for none. 2463 "*String for filling to insert at front of new line, or nil for none.
2409Setting this variable automatically makes it local to the current buffer.") 2464Setting this variable automatically makes it local to the current buffer."
2465 :type '(choice (const :tag "None" nil)
2466 string)
2467 :group 'fill)
2410(make-variable-buffer-local 'fill-prefix) 2468(make-variable-buffer-local 'fill-prefix)
2411 2469
2412(defvar auto-fill-inhibit-regexp nil 2470(defcustom auto-fill-inhibit-regexp nil
2413 "*Regexp to match lines which should not be auto-filled.") 2471 "*Regexp to match lines which should not be auto-filled."
2472 :type '(choice (const :tag "None" nil)
2473 regexp)
2474 :group 'fill)
2414 2475
2415;; This function is the auto-fill-function of a buffer 2476;; This function is the auto-fill-function of a buffer
2416;; when Auto-Fill mode is enabled. 2477;; when Auto-Fill mode is enabled.
@@ -2569,10 +2630,12 @@ Just \\[universal-argument] as argument means to use the current column."
2569 (t 2630 (t
2570 (error "set-fill-column requires an explicit argument")))) 2631 (error "set-fill-column requires an explicit argument"))))
2571 2632
2572(defvar comment-multi-line nil 2633(defcustom comment-multi-line nil
2573 "*Non-nil means \\[indent-new-comment-line] should continue same comment 2634 "*Non-nil means \\[indent-new-comment-line] should continue same comment
2574on new line, with no new terminator or starter. 2635on new line, with no new terminator or starter.
2575This is obsolete because you might as well use \\[newline-and-indent].") 2636This is obsolete because you might as well use \\[newline-and-indent]."
2637 :type 'boolean
2638 :group 'fill-comments)
2576 2639
2577(defun indent-new-comment-line (&optional soft) 2640(defun indent-new-comment-line (&optional soft)
2578 "Break line at point and indent, continuing comment if within one. 2641 "Break line at point and indent, continuing comment if within one.
@@ -2714,8 +2777,10 @@ specialization of overwrite-mode, entered by setting the
2714 'overwrite-mode-binary)) 2777 'overwrite-mode-binary))
2715 (force-mode-line-update)) 2778 (force-mode-line-update))
2716 2779
2717(defvar line-number-mode t 2780(defcustom line-number-mode t
2718 "*Non-nil means display line number in mode line.") 2781 "*Non-nil means display line number in mode line."
2782 :type 'boolean
2783 :group 'editing-basics)
2719 2784
2720(defun line-number-mode (arg) 2785(defun line-number-mode (arg)
2721 "Toggle Line Number mode. 2786 "Toggle Line Number mode.
@@ -2728,8 +2793,10 @@ in the mode line."
2728 (> (prefix-numeric-value arg) 0))) 2793 (> (prefix-numeric-value arg) 0)))
2729 (force-mode-line-update)) 2794 (force-mode-line-update))
2730 2795
2731(defvar column-number-mode nil 2796(defcustom column-number-mode nil
2732 "*Non-nil means display column number in mode line.") 2797 "*Non-nil means display column number in mode line."
2798 :type 'boolean
2799 :group 'editing-basics)
2733 2800
2734(defun column-number-mode (arg) 2801(defun column-number-mode (arg)
2735 "Toggle Column Number mode. 2802 "Toggle Column Number mode.
@@ -2742,22 +2809,32 @@ in the mode line."
2742 (> (prefix-numeric-value arg) 0))) 2809 (> (prefix-numeric-value arg) 0)))
2743 (force-mode-line-update)) 2810 (force-mode-line-update))
2744 2811
2745(defvar blink-matching-paren t 2812(defcustom blink-matching-paren t
2746 "*Non-nil means show matching open-paren when close-paren is inserted.") 2813 "*Non-nil means show matching open-paren when close-paren is inserted."
2814 :type 'boolean
2815 :group 'paren-matching)
2747 2816
2748(defvar blink-matching-paren-on-screen t 2817(defcustom blink-matching-paren-on-screen t
2749 "*Non-nil means show matching open-paren when it is on screen. 2818 "*Non-nil means show matching open-paren when it is on screen.
2750nil means don't show it (but the open-paren can still be shown 2819nil means don't show it (but the open-paren can still be shown
2751when it is off screen.") 2820when it is off screen."
2821 :type 'boolean
2822 :group 'paren-matching)
2752 2823
2753(defvar blink-matching-paren-distance 12000 2824(defcustom blink-matching-paren-distance 12000
2754 "*If non-nil, is maximum distance to search for matching open-paren.") 2825 "*If non-nil, is maximum distance to search for matching open-paren."
2826 :type 'integer
2827 :group 'paren-matching)
2755 2828
2756(defvar blink-matching-delay 1 2829(defcustom blink-matching-delay 1
2757 "*The number of seconds that `blink-matching-open' will delay at a match.") 2830 "*The number of seconds that `blink-matching-open' will delay at a match."
2831 :type 'integer
2832 :group 'paren-matching)
2758 2833
2759(defvar blink-matching-paren-dont-ignore-comments nil 2834(defcustom blink-matching-paren-dont-ignore-comments nil
2760 "*Non-nil means `blink-matching-paren' should not ignore comments.") 2835 "*Non-nil means `blink-matching-paren' should not ignore comments."
2836 :type 'boolean
2837 :group 'paren-matching)
2761 2838
2762(defun blink-matching-open () 2839(defun blink-matching-open ()
2763 "Move cursor momentarily to the beginning of the sexp before point." 2840 "Move cursor momentarily to the beginning of the sexp before point."
@@ -2886,7 +2963,7 @@ or go back to just one window (by deleting all but the selected window)."
2886 2963
2887(define-key global-map "\e\e\e" 'keyboard-escape-quit) 2964(define-key global-map "\e\e\e" 'keyboard-escape-quit)
2888 2965
2889(defvar mail-user-agent 'sendmail-user-agent 2966(defcustom mail-user-agent 'sendmail-user-agent
2890 "*Your preference for a mail composition package. 2967 "*Your preference for a mail composition package.
2891Various Emacs Lisp packages (e.g. reporter) require you to compose an 2968Various Emacs Lisp packages (e.g. reporter) require you to compose an
2892outgoing email message. This variable lets you specify which 2969outgoing email message. This variable lets you specify which
@@ -2899,7 +2976,18 @@ Valid values include:
2899 message-user-agent -- use the GNUS mail sending package 2976 message-user-agent -- use the GNUS mail sending package
2900 2977
2901Additional valid symbols may be available; check with the author of 2978Additional valid symbols may be available; check with the author of
2902your package for details.") 2979your package for details."
2980 :type '(radio (function-item :tag "Default Emacs mail"
2981 :format "%t\n"
2982 sendmail-user-agent)
2983 (function-item :tag "Emacs interface to MH"
2984 :format "%t\n"
2985 mh-e-user-agent)
2986 (function-item :tag "Gnus mail sending package"
2987 :format "%t\n"
2988 message-user-agent)
2989 (function :tag "Other"))
2990 :group 'mail)
2903 2991
2904(defun define-mail-user-agent (symbol composefunc sendfunc 2992(defun define-mail-user-agent (symbol composefunc sendfunc
2905 &optional abortfunc hookvar) 2993 &optional abortfunc hookvar)