Lars Ingebrigtsen 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