Index: gnus-art.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v retrieving revision 6.231 diff -u -u -r6.231 gnus-art.el --- gnus-art.el 2002/09/09 15:24:16 6.231 +++ gnus-art.el 2002/09/11 06:03:52 @@ -279,6 +279,21 @@ A string is used as a regular expression to match the banner directly.") +(defcustom gnus-article-address-banner-alist nil + "*Banner alist for free mail addresses. +For example, + ((\"@yahoo\\.co\\.jp\\\\'\" . \"\\n_+\\nDo You Yahoo!\\\\?\\n.*\\n.*\\n\")) +" + :type '(repeat + (cons + (regexp :tag "Address") + (choice :tag "Banner" :value nil + (const :tag "Remove signature" signature) + (symbol :tag "Item in `gnus-article-banner-alist'" none) + regexp + (const :tag "None" nil)))) + :group 'gnus-article-washing) + (defcustom gnus-emphasis-alist (let ((format "\\(\\s-\\|^\\|\\=\\|[-\"]\\|\\s(\\)\\(%s\\(\\w+\\(\\s-+\\w+\\)*[.,]?\\)%s\\)\\(\\([-,.;:!?\"]\\|\\s)\\)+\\s-\\|[?!.]\\s-\\|\\s)\\|\\s-\\)") @@ -2252,6 +2267,17 @@ (banner (gnus-parameter-banner gnus-newsgroup-name)) (gnus-signature-limit nil) buffer-read-only beg end) + (unless banner + (setq banner + (let ((from (save-restriction + (widen) + (article-narrow-to-head) + (caar (mail-header-parse-addresses + (mail-fetch-field "from")))))) + (catch 'found + (dolist (pair gnus-article-address-banner-alist) + (when (string-match (car pair) from) + (throw 'found (cdr pair)))))))) (when banner (article-goto-body) (cond