aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStephen Eglen1998-02-22 22:01:28 +0000
committerStephen Eglen1998-02-22 22:01:28 +0000
commit0b5bb3ec88b3d7126831e1b4e45b7d61febda0fa (patch)
treeeb60b0d064f017dc5c2d2c0793473b12384237a7 /lisp
parentccc3ce39b45078690269ce3aa674f433bcf1ba9c (diff)
downloademacs-0b5bb3ec88b3d7126831e1b4e45b7d61febda0fa.tar.gz
emacs-0b5bb3ec88b3d7126831e1b4e45b7d61febda0fa.zip
Customized.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/emacs-lisp/find-func.el16
-rw-r--r--lisp/emulation/crisp.el37
-rw-r--r--lisp/mail/mail-extr.el35
-rw-r--r--lisp/mail/mail-hist.el23
-rw-r--r--lisp/mail/sendmail.el119
-rw-r--r--lisp/mail/uce.el41
6 files changed, 190 insertions, 81 deletions
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index 40879895df3..e12d5c6cc61 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -57,18 +57,26 @@
57;;;; Code: 57;;;; Code:
58 58
59;;; User variables: 59;;; User variables:
60(defgroup find-function nil
61 "Find the definition of the elisp function near point."
62 :prefix "find-function"
63 :group 'lisp)
60 64
61(defvar find-function-function 'function-at-point 65(defcustom find-function-function 'function-at-point
62 "*The function used by `find-function' to select the function near 66 "*The function used by `find-function' to select the function near
63point. 67point.
64 68
65For example `function-at-point' or `function-called-at-point'.") 69For example `function-at-point' or `function-called-at-point'."
70 :type 'function
71 :group 'find-function)
66 72
67(defvar find-function-source-path nil 73(defcustom find-function-source-path nil
68 "The default list of directories where find-function searches. 74 "The default list of directories where find-function searches.
69 75
70If this variable is `nil' then find-function searches `load-path' by 76If this variable is `nil' then find-function searches `load-path' by
71default.") 77default."
78 :type '(repeat directory)
79 :group 'find-function)
72 80
73 81
74;;; Functions: 82;;; Functions:
diff --git a/lisp/emulation/crisp.el b/lisp/emulation/crisp.el
index 26ff19e7cd2..36287eb9eb5 100644
--- a/lisp/emulation/crisp.el
+++ b/lisp/emulation/crisp.el
@@ -51,44 +51,59 @@
51 51
52;; All these overrides should go *before* the (require 'crisp) statement. 52;; All these overrides should go *before* the (require 'crisp) statement.
53 53
54(defgroup crisp nil
55 "Emulator for CRiSP and Brief key bindings."
56 :prefix "crisp-"
57 :group 'emulations)
58
54;; local variables 59;; local variables
55 60
56(defvar crisp-mode-map (copy-keymap (current-global-map)) 61(defvar crisp-mode-map (copy-keymap (current-global-map))
57 "Local keymap for CRiSP emulation mode. 62 "Local keymap for CRiSP emulation mode.
58All the emulation bindings are done here instead of globally.") 63All the emulation bindings are done here instead of globally.")
59 64
60(defvar crisp-mode-modeline-string " *CRiSP*" 65(defcustom crisp-mode-modeline-string " *CRiSP*"
61 "String to display in the modeline when CRiSP emulation mode is enabled.") 66 "String to display in the modeline when CRiSP emulation mode is enabled."
67 :type 'string
68 :group 'crisp)
62 69
63(defvar crisp-mode-original-keymap (copy-keymap (current-global-map)) 70(defvar crisp-mode-original-keymap (copy-keymap (current-global-map))
64 "The original keymap before CRiSP emulation mode remaps anything. 71 "The original keymap before CRiSP emulation mode remaps anything.
65This keymap is restored when CRiSP emulation mode is disabled.") 72This keymap is restored when CRiSP emulation mode is disabled.")
66 73
67(defvar crisp-mode-enabled nil 74(defcustom crisp-mode-enabled nil
68 "Track status of CRiSP emulation mode. 75 "Track status of CRiSP emulation mode.
69A value of nil means CRiSP mode is not enabled. A value of t 76A value of nil means CRiSP mode is not enabled. A value of t
70indicates CRiSP mode is enabled.") 77indicates CRiSP mode is enabled."
78 :type 'boolean
79 :group 'crisp)
71 80
72(defvar crisp-override-meta-x t 81(defcustom crisp-override-meta-x t
73 "Controls overriding the normal Emacs M-x key binding in the CRiSP emulator. 82 "Controls overriding the normal Emacs M-x key binding in the CRiSP emulator.
74Normally the CRiSP emulator rebinds M-x to save-buffers-exit-emacs 83Normally the CRiSP emulator rebinds M-x to save-buffers-exit-emacs
75and provides the usual M-x functionality on the F10 key. 84and provides the usual M-x functionality on the F10 key.
76 85
77If this variable is nil when you start the CRiSP emulator, it 86If this variable is nil when you start the CRiSP emulator, it
78does not alter the binding of M-x.") 87does not alter the binding of M-x."
88 :type 'boolean
89 :group 'crisp)
79 90
80(defvar crisp-load-scroll-all t 91(defcustom crisp-load-scroll-all t
81 "Controls loading of the Scroll All mode in the CRiSP emulator. 92 "Controls loading of the Scroll All mode in the CRiSP emulator.
82Its Default behavior is to load and enable the Scroll All minor mode 93Its Default behavior is to load and enable the Scroll All minor mode
83package when enabling the CRiSP emulator. 94package when enabling the CRiSP emulator.
84 95
85If this variable is nil when you start the CRiSP emulator, it 96If this variable is nil when you start the CRiSP emulator, it
86does not load Scroll All.") 97does not load Scroll All."
98 :type 'boolean
99 :group 'crisp)
87 100
88(defvar crisp-load-hook nil 101(defcustom crisp-load-hook nil
89 "Hooks to run after loadint the CRiSP emulator package.") 102 "Hooks to run after loadint the CRiSP emulator package."
103 :type 'hook
104 :group 'crisp)
90 105
91(defvar crisp-version "crisp.el release 1.1/$Revision: 1.5 $" 106(defvar crisp-version "crisp.el release 1.1/$Revision: 1.6 $"
92 "The release number and RCS version for the CRiSP emulator.") 107 "The release number and RCS version for the CRiSP emulator.")
93 108
94(defvar crisp-last-last-command nil 109(defvar crisp-last-last-command nil
diff --git a/lisp/mail/mail-extr.el b/lisp/mail/mail-extr.el
index 5f30245daeb..c31cc065cfe 100644
--- a/lisp/mail/mail-extr.el
+++ b/lisp/mail/mail-extr.el
@@ -208,36 +208,51 @@
208;;; Code: 208;;; Code:
209 209
210 210
211(defgroup mail-extr nil
212 "Extract full name and address from RFC 822 mail header."
213 :prefix "mail-extr-"
214 :group 'mail)
215
211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
212;; 217;;
213;; User configuration variable definitions. 218;; User configuration variable definitions.
214;; 219;;
215 220
216(defvar mail-extr-guess-middle-initial nil 221(defcustom mail-extr-guess-middle-initial nil
217 "*Whether to try to guess middle initial from mail address. 222 "*Whether to try to guess middle initial from mail address.
218If true, then when we see an address like \"John Smith <jqs@host.com>\" 223If true, then when we see an address like \"John Smith <jqs@host.com>\"
219we will assume that \"John Q. Smith\" is the fellow's name.") 224we will assume that \"John Q. Smith\" is the fellow's name."
225 :type 'boolean
226 :group 'mail-extr)
220 227
221(defvar mail-extr-ignore-single-names t 228(defcustom mail-extr-ignore-single-names t
222 "*Whether to ignore a name that is just a single word. 229 "*Whether to ignore a name that is just a single word.
223If true, then when we see an address like \"Idiot <dumb@stupid.com>\" 230If true, then when we see an address like \"Idiot <dumb@stupid.com>\"
224we will act as though we couldn't find a full name in the address.") 231we will act as though we couldn't find a full name in the address."
232 :type 'boolean
233 :group 'mail-extr)
225 234
226;; Matches a leading title that is not part of the name (does not 235;; Matches a leading title that is not part of the name (does not
227;; contribute to uniquely identifying the person). 236;; contribute to uniquely identifying the person).
228(defvar mail-extr-full-name-prefixes 237(defcustom mail-extr-full-name-prefixes
229 (purecopy 238 (purecopy
230 "\\(Prof\\|D[Rr]\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.?[ \t\n]") 239 "\\(Prof\\|D[Rr]\\|Mrs?\\|Rev\\|Rabbi\\|SysOp\\|LCDR\\)\\.?[ \t\n]")
231 "*Matches prefixes to the full name that identify a person's position. 240 "*Matches prefixes to the full name that identify a person's position.
232These are stripped from the full name because they do not contribute to 241These are stripped from the full name because they do not contribute to
233uniquely identifying the person.") 242uniquely identifying the person."
243 :type 'regexp
244 :group 'mail-extr)
234 245
235(defvar mail-extr-@-binds-tighter-than-! nil 246(defcustom mail-extr-@-binds-tighter-than-! nil
236 "*Whether the local mail transport agent looks at ! before @.") 247 "*Whether the local mail transport agent looks at ! before @."
248 :type 'boolean
249 :group 'mail-extr)
237 250
238(defvar mail-extr-mangle-uucp nil 251(defcustom mail-extr-mangle-uucp nil
239 "*Whether to throw away information in UUCP addresses 252 "*Whether to throw away information in UUCP addresses
240by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\".") 253by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\"."
254 :type 'boolean
255 :group 'mail-extr)
241 256
242;;---------------------------------------------------------------------- 257;;----------------------------------------------------------------------
243;; what orderings are meaningful????? 258;; what orderings are meaningful?????
diff --git a/lisp/mail/mail-hist.el b/lisp/mail/mail-hist.el
index 893ce40ddb7..86dcae229ee 100644
--- a/lisp/mail/mail-hist.el
+++ b/lisp/mail/mail-hist.el
@@ -56,6 +56,11 @@
56;;; Code: 56;;; Code:
57(require 'ring) 57(require 'ring)
58 58
59(defgroup mail-hist nil
60 "Headers and message body history for outgoing mail."
61 :prefix "mail-hist-"
62 :group 'mail)
63
59;;;###autoload 64;;;###autoload
60(defun mail-hist-define-keys () 65(defun mail-hist-define-keys ()
61 "Define keys for accessing mail header history. For use in hooks." 66 "Define keys for accessing mail header history. For use in hooks."
@@ -72,13 +77,17 @@
72Used for knowing which history list to look in when the user asks for 77Used for knowing which history list to look in when the user asks for
73previous/next input.") 78previous/next input.")
74 79
75(defvar mail-hist-history-size (or kill-ring-max 1729) 80(defcustom mail-hist-history-size (or kill-ring-max 1729)
76 "*The maximum number of elements in a mail field's history. 81 "*The maximum number of elements in a mail field's history.
77Oldest elements are dumped first.") 82Oldest elements are dumped first."
83 :type 'integer
84 :group 'mail-hist)
78 85
79;;;###autoload 86;;;###autoload
80(defvar mail-hist-keep-history t 87(defcustom mail-hist-keep-history t
81 "*Non-nil means keep a history for headers and text of outgoing mail.") 88 "*Non-nil means keep a history for headers and text of outgoing mail."
89 :type 'boolean
90 :group 'mail-hist)
82 91
83;; For handling repeated history requests 92;; For handling repeated history requests
84(defvar mail-hist-access-count 0) 93(defvar mail-hist-access-count 0)
@@ -182,9 +191,11 @@ HEADER is a string without the colon."
182 (setq header (downcase header)) 191 (setq header (downcase header))
183 (cdr (assoc header mail-hist-header-ring-alist))) 192 (cdr (assoc header mail-hist-header-ring-alist)))
184 193
185(defvar mail-hist-text-size-limit nil 194(defcustom mail-hist-text-size-limit nil
186 "*Don't store any header or body with more than this many characters. 195 "*Don't store any header or body with more than this many characters.
187If the value is nil, that means no limit on text size.") 196If the value is nil, that means no limit on text size."
197 :type '(choice (const nil) integer)
198 :group 'mail-hist)
188 199
189(defun mail-hist-text-too-long-p (text) 200(defun mail-hist-text-too-long-p (text)
190 "Return t if TEXT does not exceed mail-hist's size limit. 201 "Return t if TEXT does not exceed mail-hist's size limit.
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 8d93200c264..b8e36ee1517 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -28,9 +28,13 @@
28;; documented in the Emacs user's manual. 28;; documented in the Emacs user's manual.
29 29
30;;; Code: 30;;; Code:
31(defgroup sendmail nil
32 "Mail sending commands for Emacs."
33 :prefix "mail-"
34 :group 'mail)
31 35
32;;;###autoload 36;;;###autoload
33(defvar mail-from-style 'angles "\ 37(defcustom mail-from-style 'angles "\
34*Specifies how \"From:\" fields look. 38*Specifies how \"From:\" fields look.
35 39
36If `nil', they contain just the return address like: 40If `nil', they contain just the return address like:
@@ -38,22 +42,30 @@ If `nil', they contain just the return address like:
38If `parens', they look like: 42If `parens', they look like:
39 king@grassland.com (Elvis Parsley) 43 king@grassland.com (Elvis Parsley)
40If `angles', they look like: 44If `angles', they look like:
41 Elvis Parsley <king@grassland.com>") 45 Elvis Parsley <king@grassland.com>"
46 :type '(choice (const nil) (const parens) (const angles))
47 :group 'sendmail)
42 48
43;;;###autoload 49;;;###autoload
44(defvar mail-self-blind nil "\ 50(defcustom mail-self-blind nil "\
45*Non-nil means insert BCC to self in messages to be sent. 51*Non-nil means insert BCC to self in messages to be sent.
46This is done when the message is initialized, 52This is done when the message is initialized,
47so you can remove or alter the BCC field to override the default.") 53so you can remove or alter the BCC field to override the default."
54 :type 'boolean
55 :group 'sendmail)
48 56
49;;;###autoload 57;;;###autoload
50(defvar mail-interactive nil "\ 58(defcustom mail-interactive nil "\
51*Non-nil means when sending a message wait for and display errors. 59*Non-nil means when sending a message wait for and display errors.
52nil means let mailer mail back a message to report errors.") 60nil means let mailer mail back a message to report errors."
61 :type 'boolean
62 :group 'sendmail)
53 63
54;;;###autoload 64;;;###autoload
55(defvar mail-yank-ignored-headers "^via:\\|^mail-from:\\|^origin:\\|^status:\\|^remailed\\|^received:\\|^message-id:\\|^summary-line:\\|^to:\\|^subject:\\|^in-reply-to:\\|^return-path:" "\ 65(defcustom mail-yank-ignored-headers "^via:\\|^mail-from:\\|^origin:\\|^status:\\|^remailed\\|^received:\\|^message-id:\\|^summary-line:\\|^to:\\|^subject:\\|^in-reply-to:\\|^return-path:" "\
56*Delete these headers from old message when it's inserted in a reply.") 66*Delete these headers from old message when it's inserted in a reply."
67 :type 'regexp
68 :group 'sendmail)
57 69
58;; Useful to set in site-init.el 70;; Useful to set in site-init.el
59;;;###autoload 71;;;###autoload
@@ -63,8 +75,10 @@ The headers should be delimited by a line whose contents
63match the variable `mail-header-separator'.") 75match the variable `mail-header-separator'.")
64 76
65;;;###autoload 77;;;###autoload
66(defvar mail-header-separator "--text follows this line--" "\ 78(defcustom mail-header-separator "--text follows this line--" "\
67*Line used to separate headers from text in messages being composed.") 79*Line used to separate headers from text in messages being composed."
80 :type 'string
81 :group 'sendmail)
68 82
69;; Set up mail-header-separator for use as a category text property. 83;; Set up mail-header-separator for use as a category text property.
70(put 'mail-header-separator 'rear-nonsticky '(category)) 84(put 'mail-header-separator 'rear-nonsticky '(category))
@@ -76,33 +90,43 @@ match the variable `mail-header-separator'.")
76;;;(put 'mail-header-separator 'read-only t) 90;;;(put 'mail-header-separator 'read-only t)
77 91
78;;;###autoload 92;;;###autoload
79(defvar mail-archive-file-name nil "\ 93(defcustom mail-archive-file-name nil "\
80*Name of file to write all outgoing messages in, or nil for none. 94*Name of file to write all outgoing messages in, or nil for none.
81This can be an inbox file or an Rmail file.") 95This can be an inbox file or an Rmail file."
96 :type '(choice file (const nil))
97 :group 'sendmail)
82 98
83;;;###autoload 99;;;###autoload
84(defvar mail-default-reply-to nil 100(defcustom mail-default-reply-to nil
85 "*Address to insert as default Reply-to field of outgoing messages. 101 "*Address to insert as default Reply-to field of outgoing messages.
86If nil, it will be initialized from the REPLYTO environment variable 102If nil, it will be initialized from the REPLYTO environment variable
87when you first send mail.") 103when you first send mail."
104 :type '(choice (const nil) string)
105 :group 'sendmail)
88 106
89;;;###autoload 107;;;###autoload
90(defvar mail-alias-file nil 108(defcustom mail-alias-file nil
91 "*If non-nil, the name of a file to use instead of `/usr/lib/aliases'. 109 "*If non-nil, the name of a file to use instead of `/usr/lib/aliases'.
92This file defines aliases to be expanded by the mailer; this is a different 110This file defines aliases to be expanded by the mailer; this is a different
93feature from that of defining aliases in `.mailrc' to be expanded in Emacs. 111feature from that of defining aliases in `.mailrc' to be expanded in Emacs.
94This variable has no effect unless your system uses sendmail as its mailer.") 112This variable has no effect unless your system uses sendmail as its mailer."
113 :type '(choice (const nil) file)
114 :group 'sendmail)
95 115
96;;;###autoload 116;;;###autoload
97(defvar mail-personal-alias-file "~/.mailrc" 117(defcustom mail-personal-alias-file "~/.mailrc"
98 "*If non-nil, the name of the user's personal mail alias file. 118 "*If non-nil, the name of the user's personal mail alias file.
99This file typically should be in same format as the `.mailrc' file used by 119This file typically should be in same format as the `.mailrc' file used by
100the `Mail' or `mailx' program. 120the `Mail' or `mailx' program.
101This file need not actually exist.") 121This file need not actually exist."
122 :type '(choice (const nil) file)
123 :group 'sendmail)
102 124
103(defvar mail-setup-hook nil 125(defcustom mail-setup-hook nil
104 "Normal hook, run each time a new outgoing mail message is initialized. 126 "Normal hook, run each time a new outgoing mail message is initialized.
105The function `mail-setup' runs this hook.") 127The function `mail-setup' runs this hook."
128 :type 'hook
129 :group 'sendmail)
106 130
107(defvar mail-aliases t 131(defvar mail-aliases t
108 "Alist of mail address aliases, 132 "Alist of mail address aliases,
@@ -115,12 +139,17 @@ The alias definitions in the file have this form:
115(defvar mail-alias-modtime nil 139(defvar mail-alias-modtime nil
116 "The modification time of your mail alias file when it was last examined.") 140 "The modification time of your mail alias file when it was last examined.")
117 141
118(defvar mail-yank-prefix nil 142(defcustom mail-yank-prefix nil
119 "*Prefix insert on lines of yanked message being replied to. 143 "*Prefix insert on lines of yanked message being replied to.
120nil means use indentation.") 144nil means use indentation."
121(defvar mail-indentation-spaces 3 145 :type '(choice (const nil) string)
146 :group 'sendmail)
147
148(defcustom mail-indentation-spaces 3
122 "*Number of spaces to insert at the beginning of each cited line. 149 "*Number of spaces to insert at the beginning of each cited line.
123Used by `mail-yank-original' via `mail-indent-citation'.") 150Used by `mail-yank-original' via `mail-indent-citation'."
151 :type 'integer
152 :group 'sendmail)
124(defvar mail-yank-hooks nil 153(defvar mail-yank-hooks nil
125 "Obsolete hook for modifying a citation just inserted in the mail buffer. 154 "Obsolete hook for modifying a citation just inserted in the mail buffer.
126Each hook function can find the citation between (point) and (mark t). 155Each hook function can find the citation between (point) and (mark t).
@@ -130,14 +159,16 @@ text as modified.
130This is a normal hook, misnamed for historical reasons. 159This is a normal hook, misnamed for historical reasons.
131It is semi-obsolete and mail agents should no longer use it.") 160It is semi-obsolete and mail agents should no longer use it.")
132 161
133(defvar mail-citation-hook nil 162(defcustom mail-citation-hook nil
134 "*Hook for modifying a citation just inserted in the mail buffer. 163 "*Hook for modifying a citation just inserted in the mail buffer.
135Each hook function can find the citation between (point) and (mark t). 164Each hook function can find the citation between (point) and (mark t).
136And each hook function should leave point and mark around the citation 165And each hook function should leave point and mark around the citation
137text as modified. 166text as modified.
138 167
139If this hook is entirely empty (nil), a default action is taken 168If this hook is entirely empty (nil), a default action is taken
140instead of no action.") 169instead of no action."
170 :type 'hook
171 :group 'sendmail)
141 172
142(defvar mail-abbrevs-loaded nil) 173(defvar mail-abbrevs-loaded nil)
143(defvar mail-mode-map nil) 174(defvar mail-mode-map nil)
@@ -154,12 +185,16 @@ removed from alias expansions."
154 nil) 185 nil)
155 186
156;;;###autoload 187;;;###autoload
157(defvar mail-signature nil 188(defcustom mail-signature nil
158 "*Text inserted at end of mail buffer when a message is initialized. 189 "*Text inserted at end of mail buffer when a message is initialized.
159If t, it means to insert the contents of the file `mail-signature-file'.") 190If t, it means to insert the contents of the file `mail-signature-file'."
191 :type '(choice (const nil) (const t) string)
192 :group 'sendmail)
160 193
161(defvar mail-signature-file "~/.signature" 194(defcustom mail-signature-file "~/.signature"
162 "*File containing the text inserted at end of mail buffer.") 195 "*File containing the text inserted at end of mail buffer."
196 :type 'file
197 :group 'sendmail)
163 198
164(defvar mail-reply-action nil) 199(defvar mail-reply-action nil)
165(defvar mail-send-actions nil 200(defvar mail-send-actions nil
@@ -167,25 +202,31 @@ If t, it means to insert the contents of the file `mail-signature-file'.")
167(put 'mail-reply-action 'permanent-local t) 202(put 'mail-reply-action 'permanent-local t)
168(put 'mail-send-actions 'permanent-local t) 203(put 'mail-send-actions 'permanent-local t)
169 204
170(defvar mail-default-headers nil 205(defcustom mail-default-headers nil
171 "*A string containing header lines, to be inserted in outgoing messages. 206 "*A string containing header lines, to be inserted in outgoing messages.
172It is inserted before you edit the message, 207It is inserted before you edit the message,
173so you can edit or delete these lines.") 208so you can edit or delete these lines."
209 :type '(choice (const nil) string)
210 :group 'sendmail)
174 211
175(defvar mail-bury-selects-summary t 212(defcustom mail-bury-selects-summary t
176 "*If non-nil, try to show RMAIL summary buffer after returning from mail. 213 "*If non-nil, try to show RMAIL summary buffer after returning from mail.
177The functions \\[mail-send-on-exit] or \\[mail-dont-send] select 214The functions \\[mail-send-on-exit] or \\[mail-dont-send] select
178the RMAIL summary buffer before returning, if it exists and this variable 215the RMAIL summary buffer before returning, if it exists and this variable
179is non-nil.") 216is non-nil."
217 :type 'boolean
218 :group 'sendmail)
180 219
181;; I find that this happens so often, for innocent reasons, 220;; I find that this happens so often, for innocent reasons,
182;; that it is not acceptable to bother the user about it -- rms. 221;; that it is not acceptable to bother the user about it -- rms.
183(defvar mail-send-nonascii t 222(defcustom mail-send-nonascii t
184 "*Specify whether to allow sending non-ASCII characters in mail. 223 "*Specify whether to allow sending non-ASCII characters in mail.
185If t, that means do allow it. nil means don't allow it. 224If t, that means do allow it. nil means don't allow it.
186`query' means ask the user each time. 225`query' means ask the user each time.
187Including non-ASCII characters in a mail message can be problematical 226Including non-ASCII characters in a mail message can be problematical
188for the recipient, who may not know how to decode them properly.") 227for the recipient, who may not know how to decode them properly."
228 :type '(choice (const t) (const nil) (const query))
229 :group 'sendmail)
189 230
190;; Note: could use /usr/ucb/mail instead of sendmail; 231;; Note: could use /usr/ucb/mail instead of sendmail;
191;; options -t, and -v if not interactive. 232;; options -t, and -v if not interactive.
@@ -245,8 +286,10 @@ actually occur.")
245 . font-lock-string-face)))) 286 . font-lock-string-face))))
246 "Additional expressions to highlight in Mail mode.") 287 "Additional expressions to highlight in Mail mode.")
247 288
248(defvar mail-send-hook nil 289(defcustom mail-send-hook nil
249 "Normal hook run before sending mail, in Mail mode.") 290 "Normal hook run before sending mail, in Mail mode."
291 :type 'hook
292 :group 'sendmail)
250 293
251(defun sendmail-sync-aliases () 294(defun sendmail-sync-aliases ()
252 (let ((modtime (nth 5 (file-attributes mail-personal-alias-file)))) 295 (let ((modtime (nth 5 (file-attributes mail-personal-alias-file))))
diff --git a/lisp/mail/uce.el b/lisp/mail/uce.el
index 9e10fb74687..a05727cdff5 100644
--- a/lisp/mail/uce.el
+++ b/lisp/mail/uce.el
@@ -104,11 +104,18 @@
104(require 'sendmail) 104(require 'sendmail)
105(require 'rmail) 105(require 'rmail)
106 106
107(defvar uce-setup-hook nil 107(defgroup uce nil
108 "Facilitate reply to unsolicited commercial email."
109 :prefix "uce-"
110 :group 'mail)
111
112(defcustom uce-setup-hook nil
108 "Hook to run after UCE rant message is composed. 113 "Hook to run after UCE rant message is composed.
109This hook is run after mail-setup-hook, which is run as well.") 114This hook is run after mail-setup-hook, which is run as well."
115 :type 'hook
116 :group 'uce)
110 117
111(defvar uce-message-text 118(defcustom uce-message-text
112 "Recently, I have received an Unsolicited Commercial E-mail from you. 119 "Recently, I have received an Unsolicited Commercial E-mail from you.
113I do not like UCE's and I would like to inform you that sending 120I do not like UCE's and I would like to inform you that sending
114unsolicited messages to someone while he or she may have to pay for 121unsolicited messages to someone while he or she may have to pay for
@@ -141,27 +148,37 @@ to spam address email, and will remove people who put the word `remove'
141on beginning of some line from the spamming list. So, when you set it 148on beginning of some line from the spamming list. So, when you set it
142up, it might be a good idea to actually use this feature. 149up, it might be a good idea to actually use this feature.
143 150
144Value nil means insert no text by default, lets you type it in.") 151Value nil means insert no text by default, lets you type it in."
152 :type 'string
153 :group 'uce)
145 154
146(defvar uce-uce-separator 155(defcustom uce-uce-separator
147 "----- original unsolicited commercial email follows -----" 156 "----- original unsolicited commercial email follows -----"
148 "Line that will begin quoting of the UCE. 157 "Line that will begin quoting of the UCE.
149Value nil means use no separator.") 158Value nil means use no separator."
159 :type '(choice (const nil) string)
160 :group 'uce)
150 161
151(defvar uce-signature mail-signature 162(defcustom uce-signature mail-signature
152"Text to put as your signature after the note to UCE sender. 163"Text to put as your signature after the note to UCE sender.
153Value nil means none, t means insert ~/.signature file (if it happens 164Value nil means none, t means insert ~/.signature file (if it happens
154to exist), if this variable is a string this string will be inserted 165to exist), if this variable is a string this string will be inserted
155as your signature.") 166as your signature."
167 :type '(choice (const nil) (const t) string)
168 :group 'uce)
156 169
157(defvar uce-default-headers 170(defcustom uce-default-headers
158 "Errors-To: nobody@localhost\nPrecedence: bulk\n" 171 "Errors-To: nobody@localhost\nPrecedence: bulk\n"
159 "Additional headers to use when responding to a UCE with \\[uce-reply-to-uce]. 172 "Additional headers to use when responding to a UCE with \\[uce-reply-to-uce].
160These are mostly meant for headers that prevent delivery errors reporting.") 173These are mostly meant for headers that prevent delivery errors reporting."
174 :type 'string
175 :group 'uce)
161 176
162(defvar uce-subject-line 177(defcustom uce-subject-line
163 "Spam alert: unsolicited commercial e-mail" 178 "Spam alert: unsolicited commercial e-mail"
164 "Subject of the message that will be sent in response to a UCE.") 179 "Subject of the message that will be sent in response to a UCE."
180 :type 'string
181 :group 'uce)
165 182
166(defun uce-reply-to-uce (&optional ignored) 183(defun uce-reply-to-uce (&optional ignored)
167 "Send reply to UCE in Rmail. 184 "Send reply to UCE in Rmail.