diff options
| author | Stephen Eglen | 1998-02-22 22:01:28 +0000 |
|---|---|---|
| committer | Stephen Eglen | 1998-02-22 22:01:28 +0000 |
| commit | 0b5bb3ec88b3d7126831e1b4e45b7d61febda0fa (patch) | |
| tree | eb60b0d064f017dc5c2d2c0793473b12384237a7 /lisp | |
| parent | ccc3ce39b45078690269ce3aa674f433bcf1ba9c (diff) | |
| download | emacs-0b5bb3ec88b3d7126831e1b4e45b7d61febda0fa.tar.gz emacs-0b5bb3ec88b3d7126831e1b4e45b7d61febda0fa.zip | |
Customized.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/emacs-lisp/find-func.el | 16 | ||||
| -rw-r--r-- | lisp/emulation/crisp.el | 37 | ||||
| -rw-r--r-- | lisp/mail/mail-extr.el | 35 | ||||
| -rw-r--r-- | lisp/mail/mail-hist.el | 23 | ||||
| -rw-r--r-- | lisp/mail/sendmail.el | 119 | ||||
| -rw-r--r-- | lisp/mail/uce.el | 41 |
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 |
| 63 | point. | 67 | point. |
| 64 | 68 | ||
| 65 | For example `function-at-point' or `function-called-at-point'.") | 69 | For 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 | ||
| 70 | If this variable is `nil' then find-function searches `load-path' by | 76 | If this variable is `nil' then find-function searches `load-path' by |
| 71 | default.") | 77 | default." |
| 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. |
| 58 | All the emulation bindings are done here instead of globally.") | 63 | All 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. |
| 65 | This keymap is restored when CRiSP emulation mode is disabled.") | 72 | This 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. |
| 69 | A value of nil means CRiSP mode is not enabled. A value of t | 76 | A value of nil means CRiSP mode is not enabled. A value of t |
| 70 | indicates CRiSP mode is enabled.") | 77 | indicates 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. |
| 74 | Normally the CRiSP emulator rebinds M-x to save-buffers-exit-emacs | 83 | Normally the CRiSP emulator rebinds M-x to save-buffers-exit-emacs |
| 75 | and provides the usual M-x functionality on the F10 key. | 84 | and provides the usual M-x functionality on the F10 key. |
| 76 | 85 | ||
| 77 | If this variable is nil when you start the CRiSP emulator, it | 86 | If this variable is nil when you start the CRiSP emulator, it |
| 78 | does not alter the binding of M-x.") | 87 | does 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. |
| 82 | Its Default behavior is to load and enable the Scroll All minor mode | 93 | Its Default behavior is to load and enable the Scroll All minor mode |
| 83 | package when enabling the CRiSP emulator. | 94 | package when enabling the CRiSP emulator. |
| 84 | 95 | ||
| 85 | If this variable is nil when you start the CRiSP emulator, it | 96 | If this variable is nil when you start the CRiSP emulator, it |
| 86 | does not load Scroll All.") | 97 | does 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. |
| 218 | If true, then when we see an address like \"John Smith <jqs@host.com>\" | 223 | If true, then when we see an address like \"John Smith <jqs@host.com>\" |
| 219 | we will assume that \"John Q. Smith\" is the fellow's name.") | 224 | we 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. |
| 223 | If true, then when we see an address like \"Idiot <dumb@stupid.com>\" | 230 | If true, then when we see an address like \"Idiot <dumb@stupid.com>\" |
| 224 | we will act as though we couldn't find a full name in the address.") | 231 | we 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. |
| 232 | These are stripped from the full name because they do not contribute to | 241 | These are stripped from the full name because they do not contribute to |
| 233 | uniquely identifying the person.") | 242 | uniquely 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 |
| 240 | by translating things like \"foo!bar!baz@host\" into \"baz@bar.UUCP\".") | 253 | by 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 @@ | |||
| 72 | Used for knowing which history list to look in when the user asks for | 77 | Used for knowing which history list to look in when the user asks for |
| 73 | previous/next input.") | 78 | previous/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. |
| 77 | Oldest elements are dumped first.") | 82 | Oldest 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. |
| 187 | If the value is nil, that means no limit on text size.") | 196 | If 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 | ||
| 36 | If `nil', they contain just the return address like: | 40 | If `nil', they contain just the return address like: |
| @@ -38,22 +42,30 @@ If `nil', they contain just the return address like: | |||
| 38 | If `parens', they look like: | 42 | If `parens', they look like: |
| 39 | king@grassland.com (Elvis Parsley) | 43 | king@grassland.com (Elvis Parsley) |
| 40 | If `angles', they look like: | 44 | If `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. |
| 46 | This is done when the message is initialized, | 52 | This is done when the message is initialized, |
| 47 | so you can remove or alter the BCC field to override the default.") | 53 | so 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. |
| 52 | nil means let mailer mail back a message to report errors.") | 60 | nil 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 | |||
| 63 | match the variable `mail-header-separator'.") | 75 | match 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. |
| 81 | This can be an inbox file or an Rmail file.") | 95 | This 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. |
| 86 | If nil, it will be initialized from the REPLYTO environment variable | 102 | If nil, it will be initialized from the REPLYTO environment variable |
| 87 | when you first send mail.") | 103 | when 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'. |
| 92 | This file defines aliases to be expanded by the mailer; this is a different | 110 | This file defines aliases to be expanded by the mailer; this is a different |
| 93 | feature from that of defining aliases in `.mailrc' to be expanded in Emacs. | 111 | feature from that of defining aliases in `.mailrc' to be expanded in Emacs. |
| 94 | This variable has no effect unless your system uses sendmail as its mailer.") | 112 | This 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. |
| 99 | This file typically should be in same format as the `.mailrc' file used by | 119 | This file typically should be in same format as the `.mailrc' file used by |
| 100 | the `Mail' or `mailx' program. | 120 | the `Mail' or `mailx' program. |
| 101 | This file need not actually exist.") | 121 | This 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. |
| 105 | The function `mail-setup' runs this hook.") | 127 | The 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. |
| 120 | nil means use indentation.") | 144 | nil 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. |
| 123 | Used by `mail-yank-original' via `mail-indent-citation'.") | 150 | Used 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. |
| 126 | Each hook function can find the citation between (point) and (mark t). | 155 | Each hook function can find the citation between (point) and (mark t). |
| @@ -130,14 +159,16 @@ text as modified. | |||
| 130 | This is a normal hook, misnamed for historical reasons. | 159 | This is a normal hook, misnamed for historical reasons. |
| 131 | It is semi-obsolete and mail agents should no longer use it.") | 160 | It 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. |
| 135 | Each hook function can find the citation between (point) and (mark t). | 164 | Each hook function can find the citation between (point) and (mark t). |
| 136 | And each hook function should leave point and mark around the citation | 165 | And each hook function should leave point and mark around the citation |
| 137 | text as modified. | 166 | text as modified. |
| 138 | 167 | ||
| 139 | If this hook is entirely empty (nil), a default action is taken | 168 | If this hook is entirely empty (nil), a default action is taken |
| 140 | instead of no action.") | 169 | instead 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. |
| 159 | If t, it means to insert the contents of the file `mail-signature-file'.") | 190 | If 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. |
| 172 | It is inserted before you edit the message, | 207 | It is inserted before you edit the message, |
| 173 | so you can edit or delete these lines.") | 208 | so 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. |
| 177 | The functions \\[mail-send-on-exit] or \\[mail-dont-send] select | 214 | The functions \\[mail-send-on-exit] or \\[mail-dont-send] select |
| 178 | the RMAIL summary buffer before returning, if it exists and this variable | 215 | the RMAIL summary buffer before returning, if it exists and this variable |
| 179 | is non-nil.") | 216 | is 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. |
| 185 | If t, that means do allow it. nil means don't allow it. | 224 | If 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. |
| 187 | Including non-ASCII characters in a mail message can be problematical | 226 | Including non-ASCII characters in a mail message can be problematical |
| 188 | for the recipient, who may not know how to decode them properly.") | 227 | for 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. |
| 109 | This hook is run after mail-setup-hook, which is run as well.") | 114 | This 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. |
| 113 | I do not like UCE's and I would like to inform you that sending | 120 | I do not like UCE's and I would like to inform you that sending |
| 114 | unsolicited messages to someone while he or she may have to pay for | 121 | unsolicited 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' | |||
| 141 | on beginning of some line from the spamming list. So, when you set it | 148 | on beginning of some line from the spamming list. So, when you set it |
| 142 | up, it might be a good idea to actually use this feature. | 149 | up, it might be a good idea to actually use this feature. |
| 143 | 150 | ||
| 144 | Value nil means insert no text by default, lets you type it in.") | 151 | Value 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. |
| 149 | Value nil means use no separator.") | 158 | Value 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. |
| 153 | Value nil means none, t means insert ~/.signature file (if it happens | 164 | Value nil means none, t means insert ~/.signature file (if it happens |
| 154 | to exist), if this variable is a string this string will be inserted | 165 | to exist), if this variable is a string this string will be inserted |
| 155 | as your signature.") | 166 | as 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]. |
| 160 | These are mostly meant for headers that prevent delivery errors reporting.") | 173 | These 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. |