From f0c046206df0a5e669f2fe84ba19ce531fb70895 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Wed, 11 Sep 2002 06:13:56 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 7 +++++++ lisp/gnus-art.el | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e08b5bb..2c62737 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2002-09-11 Katsumi Yamaoka + From TSUCHIYA Masatoshi . + + * gnus-art.el (gnus-article-address-banner-alist): New option. + (article-strip-banner): Refer the above option to split banners of + free mail servers, when no group parameter is specified. + 2002-09-10 Katsumi Yamaoka * nntp.el (nntp-wait-for-string): Check for a process in the diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index e22fde7..3429bc9 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -315,6 +315,26 @@ regular expression to match the banner in `gnus-article-banner-alist'. 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. +Each element has the form (ADDRESS . BANNER), where ADDRESS is a regexp +to match a mail address in the From: header, BANNER is one of a symbol +`signature', an item in `gnus-article-banner-alist', a regexp and nil. +If ADDRESS matches author's mail address, it will remove things like +advertisements. 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-\\)") @@ -2382,6 +2402,18 @@ always hide." (banner (gnus-parameter-banner gnus-newsgroup-name)) (gnus-signature-limit nil) buffer-read-only beg end) + (when (and gnus-article-address-banner-alist + (not 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 -- 1.7.10.4