diff options
| author | Dave Love | 2000-11-10 23:34:38 +0000 |
|---|---|---|
| committer | Dave Love | 2000-11-10 23:34:38 +0000 |
| commit | 10b3dd257b0de180545a88b66210adb88bd4bc29 (patch) | |
| tree | 4db1e8195b8ae973c3b917de3faf61eb82462b7d | |
| parent | 850846fdde89e5d861583a6a609fe8dd2e369d4d (diff) | |
| download | emacs-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.el | 61 |
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 |
| 31 | gnus-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. |
| 35 | Used by gnus-group-split and gnus-group-split-update as a fallback | ||
| 36 | split, 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. | |||
| 44 | If AUTO-UPDATE is non-nil (prefix argument accepted, if called | 45 | If AUTO-UPDATE is non-nil (prefix argument accepted, if called |
| 45 | interactively), it makes sure nnmail-split-fancy is re-computed before | 46 | interactively), it makes sure nnmail-split-fancy is re-computed before |
| 46 | getting new mail, by adding gnus-group-split-update to | 47 | getting new mail, by adding gnus-group-split-update to |
| 47 | nnmail-pre-get-new-mail-hook." | 48 | nnmail-pre-get-new-mail-hook. |
| 49 | |||
| 50 | A non-nil CATCH-ALL replaces the current value of | ||
| 51 | gnus-group-split-default-catch-all-group. This variable is only used | ||
| 52 | by gnus-group-split-update, and only when its CATCH-ALL argument is | ||
| 53 | nil. This argument may contain any fancy split, that will be added as | ||
| 54 | the last split in a `|' split produced by gnus-group-split-fancy, | ||
| 55 | unless overridden by any group marked as a catch-all group. Typical | ||
| 56 | uses are as simple as the name of a default mail group, but more | ||
| 57 | elaborate fancy splits may also be useful to split mail that doesn't | ||
| 58 | match any of the group-specified splitting rules. See | ||
| 59 | gnus-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 |
| 59 | It does this by calling \(gnus-group-split-fancy nil CROSSPOST DEFAULTGROUP)." | 71 | calling (gnus-group-split-fancy nil nil CATCH-ALL). |
| 72 | |||
| 73 | If CATCH-ALL is nil, gnus-group-split-default-catch-all-group is used | ||
| 74 | instead. 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. |
| 70 | See gnus-group-split-fancy for more information. | 85 | See gnus-group-split-fancy for more information. |
| 71 | 86 | ||
| 72 | If no group is defined as catch-all, the value of | ||
| 73 | gnus-group-split-default-catch-all-group is used. | ||
| 74 | |||
| 75 | gnus-group-split is a valid value for nnmail-split-methods." | 87 | gnus-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, | |||
| 94 | otherwise, a | split, that does not allow crossposting, will be | 105 | otherwise, a | split, that does not allow crossposting, will be |
| 95 | returned. | 106 | returned. |
| 96 | 107 | ||
| 97 | if CATCH-ALL is not nil, and there is no selected group whose | ||
| 98 | SPLIT-REGEXP matches the empty string, nor is there a selected group | ||
| 99 | whose SPLIT-SPEC is 'catch-all, this group name will be appended to | ||
| 100 | the returned SPLIT list, as the last element in a '| SPLIT. | ||
| 101 | |||
| 102 | For each selected group, a SPLIT is composed like this: if SPLIT-SPEC | 108 | For each selected group, a SPLIT is composed like this: if SPLIT-SPEC |
| 103 | is specified, this split is returned as-is (unless it is nil: in this | 109 | is specified, this split is returned as-is (unless it is nil: in this |
| 104 | case, the group is ignored). Otherwise, if TO-ADDRESS, TO-LIST and/or | 110 | case, 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 | |||
| 108 | matches this regexp too, and if SPLIT-EXCLUDE is specified, RESTRICT | 114 | matches this regexp too, and if SPLIT-EXCLUDE is specified, RESTRICT |
| 109 | clauses will be generated. | 115 | clauses will be generated. |
| 110 | 116 | ||
| 117 | If CATCH-ALL is nil, no catch-all handling is performed, regardless of | ||
| 118 | catch-all marks in group parameters. Otherwise, if there is no | ||
| 119 | selected group whose SPLIT-REGEXP matches the empty string, nor is | ||
| 120 | there a selected group whose SPLIT-SPEC is 'catch-all, this fancy | ||
| 121 | split (say, a group name) will be appended to the returned SPLIT list, | ||
| 122 | as the last element of a '| SPLIT. | ||
| 123 | |||
| 111 | For example, given the following group parameters: | 124 | For example, given the following group parameters: |
| 112 | 125 | ||
| 113 | nnml:mail.bar: | 126 | nnml:mail.bar: |