projects
/
gnus
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(gnus-summary-refer-thread): Implement a version that uses *-request-thread.
[gnus]
/
lisp
/
gnus-mlspl.el
diff --git
a/lisp/gnus-mlspl.el
b/lisp/gnus-mlspl.el
index
46ccc99
..
509e391
100644
(file)
--- a/
lisp/gnus-mlspl.el
+++ b/
lisp/gnus-mlspl.el
@@
-1,24
+1,29
@@
;;; gnus-mlspl.el --- a group params-based mail splitting mechanism
;;; gnus-mlspl.el --- a group params-based mail splitting mechanism
-;; Copyright (C) 1998, 1999, 2000
-;; Free Software Foundation, Inc.
+
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; Author: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
;; Keywords: news, mail
;; Author: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
;; Keywords: news, mail
-;; This program is free software; you can redistribute it and/or modify
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation
; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation
, either version 3 of the License, or
+;;
(at your option)
any later version.
-;;
This program
is distributed in the hope that it will be useful,
+;;
GNU Emacs
is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with this program; see the file COPYING. If not, write to
-;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
(eval-when-compile (require 'cl))
(require 'gnus)
(eval-when-compile (require 'cl))
(require 'gnus)
@@
-27,36
+32,36
@@
(require 'nnmail)
(defvar gnus-group-split-updated-hook nil
(require 'nnmail)
(defvar gnus-group-split-updated-hook nil
- "Hook called just after
nnmail-split-fancy
is updated by
-
gnus-group-split-update
.")
+ "Hook called just after
`nnmail-split-fancy'
is updated by
+
`gnus-group-split-update'
.")
(defvar gnus-group-split-default-catch-all-group "mail.misc"
"Group name (or arbitrary fancy split) with default splitting rules.
(defvar gnus-group-split-default-catch-all-group "mail.misc"
"Group name (or arbitrary fancy split) with default splitting rules.
-Used by
gnus-group-split and gnus-group-split-update
as a fallback
+Used by
`gnus-group-split' and `gnus-group-split-update'
as a fallback
split, in case none of the group-based splits matches.")
;;;###autoload
(defun gnus-group-split-setup (&optional auto-update catch-all)
split, in case none of the group-based splits matches.")
;;;###autoload
(defun gnus-group-split-setup (&optional auto-update catch-all)
- "Set up the split for
nnmail-split-fancy
.
+ "Set up the split for
`nnmail-split-fancy'
.
Sets things up so that nnmail-split-fancy is used for mail
splitting, and defines the variable nnmail-split-fancy according with
group parameters.
If AUTO-UPDATE is non-nil (prefix argument accepted, if called
interactively), it makes sure nnmail-split-fancy is re-computed before
Sets things up so that nnmail-split-fancy is used for mail
splitting, and defines the variable nnmail-split-fancy according with
group parameters.
If AUTO-UPDATE is non-nil (prefix argument accepted, if called
interactively), it makes sure nnmail-split-fancy is re-computed before
-getting new mail, by adding
gnus-group-split-update
to
-
nnmail-pre-get-new-mail-hook
.
+getting new mail, by adding
`gnus-group-split-update'
to
+
`nnmail-pre-get-new-mail-hook'
.
A non-nil CATCH-ALL replaces the current value of
A non-nil CATCH-ALL replaces the current value of
-
gnus-group-split-default-catch-all-group
. This variable is only used
+
`gnus-group-split-default-catch-all-group'
. This variable is only used
by gnus-group-split-update, and only when its CATCH-ALL argument is
nil. This argument may contain any fancy split, that will be added as
by gnus-group-split-update, and only when its CATCH-ALL argument is
nil. This argument may contain any fancy split, that will be added as
-the last split in a `|' split produced by
gnus-group-split-fancy
,
+the last split in a `|' split produced by
`gnus-group-split-fancy'
,
unless overridden by any group marked as a catch-all group. Typical
uses are as simple as the name of a default mail group, but more
elaborate fancy splits may also be useful to split mail that doesn't
match any of the group-specified splitting rules. See
unless overridden by any group marked as a catch-all group. Typical
uses are as simple as the name of a default mail group, but more
elaborate fancy splits may also be useful to split mail that doesn't
match any of the group-specified splitting rules. See
-
gnus-group-split-fancy
for details."
+
`gnus-group-split-fancy'
for details."
(interactive "P")
(setq nnmail-split-methods 'nnmail-split-fancy)
(when catch-all
(interactive "P")
(setq nnmail-split-methods 'nnmail-split-fancy)
(when catch-all
@@
-67,11
+72,12
@@
gnus-group-split-fancy for details."
;;;###autoload
(defun gnus-group-split-update (&optional catch-all)
;;;###autoload
(defun gnus-group-split-update (&optional catch-all)
- "Computes nnmail-split-fancy from group params and CATCH-ALL, by
-calling (gnus-group-split-fancy nil nil CATCH-ALL).
+ "Computes nnmail-split-fancy from group params and CATCH-ALL.
+It does this by calling by calling (gnus-group-split-fancy nil
+nil CATCH-ALL).
-If CATCH-ALL is nil,
gnus-group-split-default-catch-all-group
is used
-instead. This variable is set by
gnus-group-split-setup
."
+If CATCH-ALL is nil,
`gnus-group-split-default-catch-all-group'
is used
+instead. This variable is set by
`gnus-group-split-setup'
."
(interactive)
(setq nnmail-split-fancy
(gnus-group-split-fancy
(interactive)
(setq nnmail-split-fancy
(gnus-group-split-fancy
@@
-81,10
+87,10
@@
instead. This variable is set by gnus-group-split-setup."
;;;###autoload
(defun gnus-group-split ()
;;;###autoload
(defun gnus-group-split ()
- "Use
s
information from group parameters in order to split mail.
-See
gnus-group-split-fancy
for more information.
+ "Use information from group parameters in order to split mail.
+See
`gnus-group-split-fancy'
for more information.
-
gnus-group-split is a valid value for nnmail-split-methods
."
+
`gnus-group-split' is a valid value for `nnmail-split-methods'
."
(let (nnmail-split-fancy)
(gnus-group-split-update)
(nnmail-split-fancy)))
(let (nnmail-split-fancy)
(gnus-group-split-update)
(nnmail-split-fancy)))
@@
-92,16
+98,16
@@
gnus-group-split is a valid value for nnmail-split-methods."
;;;###autoload
(defun gnus-group-split-fancy
(&optional groups no-crosspost catch-all)
;;;###autoload
(defun gnus-group-split-fancy
(&optional groups no-crosspost catch-all)
- "Uses information from group parameters in order to split mail.
It
-
can be embedded into nnmail-split-fancy
lists with the SPLIT
+ "Uses information from group parameters in order to split mail.
+
It can be embedded into `nnmail-split-fancy'
lists with the SPLIT
\(: gnus-group-split-fancy GROUPS NO-CROSSPOST CATCH-ALL\)
GROUPS may be a regular expression or a list of group names, that will
\(: gnus-group-split-fancy GROUPS NO-CROSSPOST CATCH-ALL\)
GROUPS may be a regular expression or a list of group names, that will
-be used to select candidate groups. If it is om
mi
ted or nil, all
+be used to select candidate groups. If it is om
it
ted or nil, all
existing groups are considered.
existing groups are considered.
-if NO-CROSSPOST is om
m
itted or nil, a & split will be returned,
+if NO-CROSSPOST is omitted or nil, a & split will be returned,
otherwise, a | split, that does not allow crossposting, will be
returned.
otherwise, a | split, that does not allow crossposting, will be
returned.
@@
-134,12
+140,12
@@
nnml:mail.foo:
nnml:mail.others:
\((split-spec . catch-all))
nnml:mail.others:
\((split-spec . catch-all))
-Calling (gnus-group-split-fancy nil nil \"mail.
misc
\") returns:
+Calling (gnus-group-split-fancy nil nil \"mail.
others
\") returns:
\(| (& (any \"\\\\(bar@femail\\\\.com\\\\|.*@femail\\\\.com\\\\)\"
\"mail.bar\")
(any \"\\\\(foo@nowhere\\\\.gov\\\\|foo@localhost\\\\|foo-redist@home\\\\)\"
\(| (& (any \"\\\\(bar@femail\\\\.com\\\\|.*@femail\\\\.com\\\\)\"
\"mail.bar\")
(any \"\\\\(foo@nowhere\\\\.gov\\\\|foo@localhost\\\\|foo-redist@home\\\\)\"
-
- \"bugs-foo\" - \"rambling-foo\" \"mail.foo\"))
+ - \"bugs-foo\" - \"rambling-foo\" \"mail.foo\"))
\"mail.others\")"
(let* ((newsrc (cdr gnus-newsrc-alist))
split)
\"mail.others\")"
(let* ((newsrc (cdr gnus-newsrc-alist))
split)
@@
-196,12
+202,9
@@
Calling (gnus-group-split-fancy nil nil \"mail.misc\") returns:
(list 'any split-regexp)
;; Generate RESTRICTs for SPLIT-EXCLUDEs.
(if (listp split-exclude)
(list 'any split-regexp)
;; Generate RESTRICTs for SPLIT-EXCLUDEs.
(if (listp split-exclude)
- (let ((seq split-exclude)
- res)
- (while seq
- (push (cons '- (pop seq))
- res))
- (apply #'nconc (nreverse res)))
+ (apply #'append
+ (mapcar (lambda (arg) (list '- arg))
+ split-exclude))
(list '- split-exclude))
(list group-clean))
split)
(list '- split-exclude))
(list group-clean))
split)
@@
-223,3
+226,5
@@
Calling (gnus-group-split-fancy nil nil \"mail.misc\") returns:
split))
(provide 'gnus-mlspl)
split))
(provide 'gnus-mlspl)
+
+;;; gnus-mlspl.el ends here