From: Daniel Dehennin <daniel.dehennin@baby-gnu.org>
To: ding@gnus.org
Subject: [PATCH] Re: Group splitting on list headers
Date: Fri, 27 Dec 2013 16:57:58 +0100 [thread overview]
Message-ID: <8738leffqx.fsf_-_@hati.baby-gnu.org> (raw)
In-Reply-To: <87ioubeefd.fsf@building.gnus.org> (Lars Ingebrigtsen's message of "Thu, 26 Dec 2013 17:59:34 +0100")
[-- Attachment #1: Type: text/plain, Size: 4299 bytes --]
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Uhm... perhaps `match-list'?
Shortest is best ;-)
You can review my proposal patch on my gitweb[1] or with the following
pull request.
Tell me if something should be changed.
Regards.
The following changes since commit 934f25f8d8801afe315722fd0b0b4ea14bcb1534:
Make split tracing work in nnimap groups, too (2013-12-26 17:39:39 +0100)
are available in the git repository at:
git://git.baby-gnu.net/gnus.git tags/feature/group-mail-splitting-on-list-headers
for you to fetch changes up to 2ff14c69a7ad8c4256236331fbe94ff43dd9976a:
Add Group Mail Spliting on mailing-list headers (2013-12-27 16:54:15 +0100)
----------------------------------------------------------------
We define a new `list' abbreviation and `match-list' group parameter
and make Group Mail Splitting generate a SPLIT using it.
----------------------------------------------------------------
Daniel Dehennin (1):
Add Group Mail Spliting on mailing-list headers
lisp/gnus-mlspl.el | 7 +++++--
lisp/nnmail.el | 1 +
texi/gnus.texi | 15 +++++++++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/lisp/gnus-mlspl.el b/lisp/gnus-mlspl.el
index 3947c67..1997f43 100644
--- a/lisp/gnus-mlspl.el
+++ b/lisp/gnus-mlspl.el
@@ -177,7 +177,10 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
(to-list (cdr (assoc 'to-list params)))
(extra-aliases (cdr (assoc 'extra-aliases params)))
(split-regexp (cdr (assoc 'split-regexp params)))
- (split-exclude (cdr (assoc 'split-exclude params))))
+ (split-exclude (cdr (assoc 'split-exclude params)))
+ (match-abbrev (if (cdr (assoc 'match-list params))
+ 'list
+ 'any)))
(when (or to-address to-list extra-aliases split-regexp)
;; regexp-quote to-address, to-list and extra-aliases
;; and add them all to split-regexp
@@ -198,7 +201,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
"\\)"))
;; Now create the new SPLIT
(push (append
- (list 'any split-regexp)
+ (list match-abbrev split-regexp)
;; Generate RESTRICTs for SPLIT-EXCLUDEs.
(if (listp split-exclude)
(apply #'append
diff --git a/lisp/nnmail.el b/lisp/nnmail.el
index 5be449e..03d610c 100644
--- a/lisp/nnmail.el
+++ b/lisp/nnmail.el
@@ -517,6 +517,7 @@ Example:
(defcustom nnmail-split-abbrev-alist
'((any . "from\\|to\\|cc\\|sender\\|apparently-to\\|resent-from\\|resent-to\\|resent-cc")
(mail . "mailer-daemon\\|postmaster\\|uucp")
+ (list . "list-post\\|x-beenthere\\|x-loop")
(to . "to\\|cc\\|apparently-to\\|resent-to\\|resent-cc")
(from . "from\\|sender\\|resent-from")
(nato . "to\\|cc\\|resent-to\\|resent-cc")
diff --git a/texi/gnus.texi b/texi/gnus.texi
index 498c8a4..03af068 100644
--- a/texi/gnus.texi
+++ b/texi/gnus.texi
@@ -3103,6 +3103,18 @@ interest in relation to the sieve parameter.
The Sieve language is described in RFC 3028. @xref{Top, Emacs Sieve,
Top, sieve, Emacs Sieve}.
+@item match-list
+@cindex match-list
+If this parameter is set to @code{t} and @code{nnmail-split-method} is
+set to @code{gnus-group-split}, Gnus will lookup mail addresses
+against the @code{list} split abbreviation.
+
+See @code{nnmail-split-abbrev-alist} for the regular expression
+matching mailing-list headers.
+
+See @pxref{Group Mail Splitting} to automatically split on group
+parameters.
+
@item (agent parameters)
If the agent has been enabled, you can set any of its parameters to
control the behavior of the agent in individual groups. See Agent
@@ -15403,6 +15415,9 @@ Matches the @samp{To}, @samp{Cc}, @samp{Apparently-To},
@samp{Resent-To} and @samp{Resent-Cc} fields.
@item any
Is the union of the @code{from} and @code{to} entries.
+@item list
+Matches the @samp{List-Post}, @samp{X-BeenThere} and @samp{X-Loop}
+fields.
@end table
@vindex nnmail-split-fancy-syntax-table
Footnotes:
[1] http://git.baby-gnu.net/gitweb/gitweb.cgi?p=gnus.git;a=tag;h=refs/tags/feature/group-mail-splitting-on-list-headers
--
Daniel Dehennin
Récupérer ma clef GPG:
gpg --keyserver pgp.mit.edu --recv-keys 0x7A6FE2DF
[-- Attachment #2: Type: application/pgp-signature, Size: 229 bytes --]
next prev parent reply other threads:[~2013-12-27 15:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-14 17:03 Daniel Dehennin
2013-12-26 15:47 ` Lars Ingebrigtsen
2013-12-26 16:58 ` Daniel Dehennin
2013-12-26 16:59 ` Lars Ingebrigtsen
2013-12-27 15:57 ` Daniel Dehennin [this message]
2013-12-28 1:53 ` [PATCH] " Daniel Dehennin
2013-12-29 0:25 ` Daniel Dehennin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8738leffqx.fsf_-_@hati.baby-gnu.org \
--to=daniel.dehennin@baby-gnu.org \
--cc=ding@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).