From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/50064 Path: main.gmane.org!not-for-mail From: Michael Shields Newsgroups: gmane.emacs.gnus.general Subject: [PATCH] Strip banners based on both user address and group (resend) Date: Wed, 12 Feb 2003 17:59:44 +0000 Organization: Mad Science Research Labs Sender: owner-ding@hpc.uh.edu Message-ID: <87isvp752n.fsf@mulligatwani.msrl.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1045073626 5343 80.91.224.249 (12 Feb 2003 18:13:46 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 12 Feb 2003 18:13:46 +0000 (UTC) Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18j19j-0000GW-00 for ; Wed, 12 Feb 2003 18:58:47 +0100 Original-Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 18j1Ax-0004gD-00; Wed, 12 Feb 2003 12:00:04 -0600 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Wed, 12 Feb 2003 12:01:01 -0600 (CST) Original-Received: from sclp3.sclp.com (sclp3.sclp.com [66.230.238.2]) by sina.hpc.uh.edu (8.9.3/8.9.3) with SMTP id MAA05455 for ; Wed, 12 Feb 2003 12:00:48 -0600 (CST) Original-Received: (qmail 27918 invoked by alias); 12 Feb 2003 17:59:45 -0000 Original-Received: (qmail 27913 invoked from network); 12 Feb 2003 17:59:45 -0000 Original-Received: from challah.msrl.com (198.137.194.222) by 66.230.238.6 with SMTP; 12 Feb 2003 17:59:45 -0000 Original-Received: (qmail 21411 invoked from network); 12 Feb 2003 17:59:44 -0000 Original-Received: from localhost (HELO mulligatwani.msrl.com) (127.0.0.1) by localhost with SMTP; 12 Feb 2003 17:59:44 -0000 Original-To: ding@gnus.org Original-Lines: 108 User-Agent: Gnus/5.090016 (Oort Gnus v0.16) XEmacs/21.4 (Military Intelligence) Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:50064 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:50064 Resending now that I have papers on file. Currently, if you've defined a banner in the group parameters, `gnus-article-address-banner-alist' will be ignored. This patch corrects that. (It looks like a big patch, but it's mostly indentation change.) 2003-02-12 Michael Shields * gnus-art.el (article-strip-banner): Strip both per-group and per-user-address banners. (article-really-strip-banner): New. Index: lisp/gnus-art.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-art.el,v retrieving revision 6.293 diff -u -r6.293 gnus-art.el --- lisp/gnus-art.el 12 Feb 2003 15:06:16 -0000 6.293 +++ lisp/gnus-art.el 12 Feb 2003 18:03:15 -0000 @@ -2299,43 +2301,50 @@ (match-beginning 0) (match-end 0) 'pem))))))) (defun article-strip-banner () - "Strip the banner specified by the `banner' group parameter." + "Strip the banners specified by the `banner' group parameter and by +`gnus-article-address-banner-alist'." (interactive) (save-excursion (save-restriction + (let ((inhibit-point-motion-hooks t)) + (when (gnus-parameter-banner gnus-newsgroup-name) + (article-really-strip-banner + (gnus-parameter-banner gnus-newsgroup-name))) + (when gnus-article-address-banner-alist + (article-really-strip-banner + (let ((from (save-restriction + (widen) + (article-narrow-to-head) + (mail-fetch-field "from")))) + (when (and from + (setq from + (caar (mail-header-parse-addresses from)))) + (catch 'found + (dolist (pair gnus-article-address-banner-alist) + (when (string-match (car pair) from) + (throw 'found (cdr pair))))))))))))) + +(defun article-really-strip-banner (banner) + "Strip the banner specified by the argument." + (save-excursion + (save-restriction (let ((inhibit-point-motion-hooks t) - (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) - (mail-fetch-field "from")))) - (when (and from - (setq from - (caar (mail-header-parse-addresses 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 - ((eq banner 'signature) - (when (gnus-article-narrow-to-signature) - (widen) - (forward-line -1) - (delete-region (point) (point-max)))) - ((symbolp banner) - (if (setq banner (cdr (assq banner gnus-article-banner-alist))) - (while (re-search-forward banner nil t) - (delete-region (match-beginning 0) (match-end 0))))) - ((stringp banner) - (while (re-search-forward banner nil t) - (delete-region (match-beginning 0) (match-end 0)))))))))) + buffer-read-only) + (article-goto-body) + (cond + ((eq banner 'signature) + (when (gnus-article-narrow-to-signature) + (widen) + (forward-line -1) + (delete-region (point) (point-max)))) + ((symbolp banner) + (if (setq banner (cdr (assq banner gnus-article-banner-alist))) + (while (re-search-forward banner nil t) + (delete-region (match-beginning 0) (match-end 0))))) + ((stringp banner) + (while (re-search-forward banner nil t) + (delete-region (match-beginning 0) (match-end 0))))))))) (defun article-babel () "Translate article using an online translation service." -- Shields.