aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Love2000-11-10 23:34:38 +0000
committerDave Love2000-11-10 23:34:38 +0000
commit10b3dd257b0de180545a88b66210adb88bd4bc29 (patch)
tree4db1e8195b8ae973c3b917de3faf61eb82462b7d
parent850846fdde89e5d861583a6a609fe8dd2e369d4d (diff)
downloademacs-10b3dd257b0de180545a88b66210adb88bd4bc29.tar.gz
emacs-10b3dd257b0de180545a88b66210adb88bd4bc29.zip
2000-11-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* gnus-mlspl.el: Documentation tweaks.
-rw-r--r--lisp/gnus/gnus-mlspl.el61
1 files changed, 37 insertions, 24 deletions
diff --git a/lisp/gnus/gnus-mlspl.el b/lisp/gnus/gnus-mlspl.el
index 7b979d14710..46ccc9916d5 100644
--- a/lisp/gnus/gnus-mlspl.el
+++ b/lisp/gnus/gnus-mlspl.el
@@ -1,25 +1,23 @@
1;;; gnus-mlspl.el --- a group params-based mail splitting mechanism 1;;; gnus-mlspl.el --- a group params-based mail splitting mechanism
2 2;; Copyright (C) 1998, 1999, 2000
3;; Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. 3;; Free Software Foundation, Inc.
4 4
5;; Author: Alexandre Oliva <oliva@lsd.ic.unicamp.br> 5;; Author: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
6;; Keywords: news, mail 6;; Keywords: news, mail
7 7
8;; This file is part of GNU Emacs. 8;; This program is free software; you can redistribute it and/or modify
9
10;; GNU Emacs is free software; you can redistribute it and/or modify
11;; it under the terms of the GNU General Public License as published by 9;; it under the terms of the GNU General Public License as published by
12;; the Free Software Foundation; either version 2, or (at your option) 10;; the Free Software Foundation; either version 2, or (at your option)
13;; any later version. 11;; any later version.
14 12
15;; GNU Emacs is distributed in the hope that it will be useful, 13;; This program is distributed in the hope that it will be useful,
16;; but WITHOUT ANY WARRANTY; without even the implied warranty of 14;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;; GNU General Public License for more details. 16;; GNU General Public License for more details.
19 17
20;; You should have received a copy of the GNU General Public License 18;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to the 19;; along with this program; see the file COPYING. If not, write to
22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23;; Boston, MA 02111-1307, USA. 21;; Boston, MA 02111-1307, USA.
24 22
25(eval-when-compile (require 'cl)) 23(eval-when-compile (require 'cl))
@@ -29,10 +27,13 @@
29(require 'nnmail) 27(require 'nnmail)
30 28
31(defvar gnus-group-split-updated-hook nil 29(defvar gnus-group-split-updated-hook nil
32 "Hook called just after nnmail-split-fancy is updated by gnus-group-split-update.") 30 "Hook called just after nnmail-split-fancy is updated by
31gnus-group-split-update.")
33 32
34(defvar gnus-group-split-default-catch-all-group "mail.misc" 33(defvar gnus-group-split-default-catch-all-group "mail.misc"
35 "Group used by gnus-group-split and gnus-group-split-update as default catch-all group.") 34 "Group name (or arbitrary fancy split) with default splitting rules.
35Used by gnus-group-split and gnus-group-split-update as a fallback
36split, in case none of the group-based splits matches.")
36 37
37;;;###autoload 38;;;###autoload
38(defun gnus-group-split-setup (&optional auto-update catch-all) 39(defun gnus-group-split-setup (&optional auto-update catch-all)
@@ -44,7 +45,18 @@ group parameters.
44If AUTO-UPDATE is non-nil (prefix argument accepted, if called 45If AUTO-UPDATE is non-nil (prefix argument accepted, if called
45interactively), it makes sure nnmail-split-fancy is re-computed before 46interactively), it makes sure nnmail-split-fancy is re-computed before
46getting new mail, by adding gnus-group-split-update to 47getting new mail, by adding gnus-group-split-update to
47nnmail-pre-get-new-mail-hook." 48nnmail-pre-get-new-mail-hook.
49
50A non-nil CATCH-ALL replaces the current value of
51gnus-group-split-default-catch-all-group. This variable is only used
52by gnus-group-split-update, and only when its CATCH-ALL argument is
53nil. This argument may contain any fancy split, that will be added as
54the last split in a `|' split produced by gnus-group-split-fancy,
55unless overridden by any group marked as a catch-all group. Typical
56uses are as simple as the name of a default mail group, but more
57elaborate fancy splits may also be useful to split mail that doesn't
58match any of the group-specified splitting rules. See
59gnus-group-split-fancy for details."
48 (interactive "P") 60 (interactive "P")
49 (setq nnmail-split-methods 'nnmail-split-fancy) 61 (setq nnmail-split-methods 'nnmail-split-fancy)
50 (when catch-all 62 (when catch-all
@@ -55,8 +67,11 @@ nnmail-pre-get-new-mail-hook."
55 67
56;;;###autoload 68;;;###autoload
57(defun gnus-group-split-update (&optional catch-all) 69(defun gnus-group-split-update (&optional catch-all)
58 "Computes nnmail-split-fancy from group params. 70 "Computes nnmail-split-fancy from group params and CATCH-ALL, by
59It does this by calling \(gnus-group-split-fancy nil CROSSPOST DEFAULTGROUP)." 71calling (gnus-group-split-fancy nil nil CATCH-ALL).
72
73If CATCH-ALL is nil, gnus-group-split-default-catch-all-group is used
74instead. This variable is set by gnus-group-split-setup."
60 (interactive) 75 (interactive)
61 (setq nnmail-split-fancy 76 (setq nnmail-split-fancy
62 (gnus-group-split-fancy 77 (gnus-group-split-fancy
@@ -69,13 +84,9 @@ It does this by calling \(gnus-group-split-fancy nil CROSSPOST DEFAULTGROUP)."
69 "Uses information from group parameters in order to split mail. 84 "Uses information from group parameters in order to split mail.
70See gnus-group-split-fancy for more information. 85See gnus-group-split-fancy for more information.
71 86
72If no group is defined as catch-all, the value of
73gnus-group-split-default-catch-all-group is used.
74
75gnus-group-split is a valid value for nnmail-split-methods." 87gnus-group-split is a valid value for nnmail-split-methods."
76 (let (nnmail-split-fancy) 88 (let (nnmail-split-fancy)
77 (gnus-group-split-update 89 (gnus-group-split-update)
78 gnus-group-split-default-catch-all-group)
79 (nnmail-split-fancy))) 90 (nnmail-split-fancy)))
80 91
81;;;###autoload 92;;;###autoload
@@ -94,11 +105,6 @@ if NO-CROSSPOST is ommitted or nil, a & split will be returned,
94otherwise, a | split, that does not allow crossposting, will be 105otherwise, a | split, that does not allow crossposting, will be
95returned. 106returned.
96 107
97if CATCH-ALL is not nil, and there is no selected group whose
98SPLIT-REGEXP matches the empty string, nor is there a selected group
99whose SPLIT-SPEC is 'catch-all, this group name will be appended to
100the returned SPLIT list, as the last element in a '| SPLIT.
101
102For each selected group, a SPLIT is composed like this: if SPLIT-SPEC 108For each selected group, a SPLIT is composed like this: if SPLIT-SPEC
103is specified, this split is returned as-is (unless it is nil: in this 109is specified, this split is returned as-is (unless it is nil: in this
104case, the group is ignored). Otherwise, if TO-ADDRESS, TO-LIST and/or 110case, the group is ignored). Otherwise, if TO-ADDRESS, TO-LIST and/or
@@ -108,6 +114,13 @@ SPLIT-REGEXP is specified, the regexp will be extended so that it
108matches this regexp too, and if SPLIT-EXCLUDE is specified, RESTRICT 114matches this regexp too, and if SPLIT-EXCLUDE is specified, RESTRICT
109clauses will be generated. 115clauses will be generated.
110 116
117If CATCH-ALL is nil, no catch-all handling is performed, regardless of
118catch-all marks in group parameters. Otherwise, if there is no
119selected group whose SPLIT-REGEXP matches the empty string, nor is
120there a selected group whose SPLIT-SPEC is 'catch-all, this fancy
121split (say, a group name) will be appended to the returned SPLIT list,
122as the last element of a '| SPLIT.
123
111For example, given the following group parameters: 124For example, given the following group parameters:
112 125
113nnml:mail.bar: 126nnml:mail.bar: