diff options
author | Miles Bader <miles@gnu.org> | 2008-06-01 02:34:55 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2008-06-01 02:34:55 +0000 |
commit | 3b31f676e84eecb99c1e1a65f8375ea315102ac2 (patch) | |
tree | b98b34710d64db15d0225564e09850c730804dab /lisp/gnus | |
parent | 5cd414c7dcfe598e89f0566fc19c62b3dc1941e5 (diff) | |
download | emacs-3b31f676e84eecb99c1e1a65f8375ea315102ac2.tar.gz |
Merge from gnus--devo--0
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1192
Diffstat (limited to 'lisp/gnus')
-rw-r--r-- | lisp/gnus/ChangeLog | 17 | ||||
-rw-r--r-- | lisp/gnus/message.el | 53 | ||||
-rw-r--r-- | lisp/gnus/nnmairix.el | 5 | ||||
-rw-r--r-- | lisp/gnus/rfc2231.el | 6 |
4 files changed, 61 insertions, 20 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 2bae91d8b05..f4653e7081d 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,20 @@ +2008-05-30 Katsumi Yamaoka <yamaoka@jpl.org> + + * rfc2231.el (rfc2231-decode-encoded-string): Don't decode things that + are not 2-digit hexadecimal characters that follow `%'s. + +2008-05-29 Reiner Steib <Reiner.Steib@gmx.de> + + * message.el (message-bogus-recipient-p): Fix type in doc string. + Reported by Stephen Eglen <S.J.Eglen@damtp.cam.ac.uk>. + (message-bogus-addresses): Rename from message-bogus-address-regexp. + Improve custom options. + (message-bogus-recipient-p): Adjust accordingly. + +2008-05-26 Katsumi Yamaoka <yamaoka@jpl.org> + + * nnmairix.el: Require edmacro when compiling with XEmacs. + 2008-05-24 Reiner Steib <Reiner.Steib@gmx.de> * gnus-sum.el (gnus-summary-initial-limit): Use unless instead of if. diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 82dd24c56b6..b790ac433c9 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -4060,19 +4060,32 @@ not have PROP." (setq start next))) (nreverse regions))) -(defcustom message-bogus-address-regexp nil ;; "noreply\\|nospam\\|invalid" - "Regexp of potentially bogus mail addresses." +(defcustom message-bogus-addresses + ;; '("noreply" "nospam" "invalid") + '("noreply" "nospam" "invalid" "@@" "[^[:ascii:]].*@" "[ \t]") + "List of regexps of potentially bogus mail addresses. +See `message-check-recipients' how to setup checking. + +This list should make it possible to catch typos or warn about +spam-trap addresses. It doesn't aim to verify strict RFC +conformance." :version "23.1" ;; No Gnus :group 'message-headers - :type '(choice (const :tag "None" nil) - (repeat :value-to-internal (lambda (widget value) - (custom-split-regexp-maybe value)) - :match (lambda (widget value) - (or (stringp value) - (widget-editable-list-match widget value))) - regexp) - (const "noreply\\|nospam\\|invalid") - regexp)) + :type '(choice + (const :tag "None" nil) + (list + (set :inline t + (const "noreply") + (const "nospam") + (const "invalid") + (const :tag "duplicate @" "@@") + (const :tag "non-ascii local part" "[^[:ascii:]].*@") + ;; Already caught by `message-valid-fqdn-regexp' + ;; (const :tag "`_' in domain part" "@.*_") + (const :tag "whitespace" "[ \t]")) + (repeat :inline t + :tag "Other" + (regexp))))) (defun message-fix-before-sending () "Do various things to make the message nice before sending it." @@ -4167,9 +4180,9 @@ not have PROP." RECIPIENTS is a mail header. Return a list of potentially bogus addresses. If none is found, return nil. -An addresses might be bogus if the domain part is not fully -qualified, see `message-valid-fqdn-regexp', or if it matches -`message-bogus-address-regexp'." +An address might be bogus if the domain part is not fully +qualified, see `message-valid-fqdn-regexp', or if there's a +matching entry in `message-bogus-addresses'." ;; FIXME: How about "foo@subdomain", when the MTA adds ".domain.tld"? (let (found) (mapc (lambda (address) @@ -4181,9 +4194,15 @@ qualified, see `message-valid-fqdn-regexp', or if it matches (string-match (concat ".@.*\\(" message-valid-fqdn-regexp "\\)\\'") address))) - (and (stringp message-bogus-address-regexp) - (string-match message-bogus-address-regexp address))) - (push address found))) + (and message-bogus-addresses + (let ((re + (if (listp message-bogus-addresses) + (mapconcat 'identity + message-bogus-addresses + "\\|") + message-bogus-addresses))) + (string-match re address)))) + (push address found))) ;; (mail-extract-address-components recipients t)) found)) diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el index 6ed58682e26..33d16426744 100644 --- a/lisp/gnus/nnmairix.el +++ b/lisp/gnus/nnmairix.el @@ -162,6 +162,11 @@ ;;; === Keymaps +(eval-when-compile + (when (featurep 'xemacs) + ;; The `kbd' macro requires that the `read-kbd-macro' macro is available. + (require 'edmacro))) + ;; Group mode (defun nnmairix-group-mode-hook () "Nnmairix group mode keymap." diff --git a/lisp/gnus/rfc2231.el b/lisp/gnus/rfc2231.el index 1dd2e43b0a3..523f6640dc4 100644 --- a/lisp/gnus/rfc2231.el +++ b/lisp/gnus/rfc2231.el @@ -214,11 +214,11 @@ These look like: (mm-with-unibyte-buffer (insert value) (goto-char (point-min)) - (while (search-forward "%" nil t) + (while (re-search-forward "%\\([0-9A-Fa-f][0-9A-Fa-f]\\)" nil t) (insert (prog1 - (string-to-number (buffer-substring (point) (+ (point) 2)) 16) - (delete-region (1- (point)) (+ (point) 2))))) + (string-to-number (match-string 1) 16) + (delete-region (match-beginning 0) (match-end 0))))) ;; Decode using the charset, if any. (if (memq coding-system '(nil ascii)) (buffer-string) |