%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/gnus/ |
Current File : //usr/local/share/emacs/27.2/lisp/gnus/gnus-mlspl.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require gnus gnus-sum gnus-group nnmail] 2) #@86 Hook called just after `nnmail-split-fancy' is updated by `gnus-group-split-update'. (defvar gnus-group-split-updated-hook nil (#$ . 519)) #@195 Group name (or arbitrary fancy split) with default splitting rules. Used by `gnus-group-split' and `gnus-group-split-update' as a fallback split, in case none of the group-based splits matches. (defvar gnus-group-split-default-catch-all-group "mail.misc" (#$ . 665)) #@1039 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 getting new mail, by adding `gnus-group-split-update' to `gnus-get-top-new-news-hook'. A non-nil CATCH-ALL replaces the current value of `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 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 `gnus-group-split-fancy' for details. (defalias 'gnus-group-split-setup #[(&optional auto-update catch-all) "\304 \203 \305\203 \306\202 \307\310\"\207" [nnmail-split-methods catch-all gnus-group-split-default-catch-all-group auto-update nnmail-split-fancy add-hook gnus-get-top-new-news-hook gnus-read-newsrc-el-hook gnus-group-split-update] 3 (#$ . 940) "P"]) #@263 Computes nnmail-split-fancy from group params and CATCH-ALL. It does this 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'. (defalias 'gnus-group-split-update #[(&optional catch-all) "\304\305? \206 \n#\306\307!\207" [nnmail-crosspost catch-all gnus-group-split-default-catch-all-group nnmail-split-fancy gnus-group-split-fancy nil run-hooks gnus-group-split-updated-hook] 4 (#$ . 2316) nil]) #@179 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'. (defalias 'gnus-group-split #[nil "\301\302 \210\300 )\207" [nnmail-split-fancy nil gnus-group-split-update] 1 (#$ . 2857)]) #@2015 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 be used to select candidate groups. If it is omitted or nil, all existing groups are considered. if NO-CROSSPOST is omitted or nil, a & split will be returned, otherwise, a | split, that does not allow crossposting, will be returned. For each selected group, a SPLIT is composed like this: if SPLIT-SPEC is specified, this split is returned as-is (unless it is nil: in this case, the group is ignored). Otherwise, if TO-ADDRESS, TO-LIST and/or EXTRA-ALIASES are specified, a regexp that matches any of them is constructed (extra-aliases may be a list). Additionally, if SPLIT-REGEXP is specified, the regexp will be extended so that it matches this regexp too, and if SPLIT-EXCLUDE is specified, RESTRICT clauses will be generated. If CATCH-ALL is nil, no catch-all handling is performed, regardless of catch-all marks in group parameters. Otherwise, if there is no selected group whose SPLIT-REGEXP matches the empty string, nor is there a selected group whose SPLIT-SPEC is `catch-all', this fancy split (say, a group name) will be appended to the returned SPLIT list, as the last element of a `|' SPLIT. For example, given the following group parameters: nnml:mail.bar: ((to-address . "bar@femail.com") (split-regexp . ".*@femail\\.com")) nnml:mail.foo: ((to-list . "foo@nowhere.gov") (extra-aliases "foo@localhost" "foo-redist@home") (split-exclude "bugs-foo" "rambling-foo") (admin-address . "foo-request@nowhere.gov")) nnml:mail.others: ((split-spec . catch-all)) 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\\)" - "bugs-foo" - "rambling-foo" "mail.foo")) "mail.others") (defalias 'gnus-group-split-fancy #[(&optional groups no-crosspost catch-all) "<\203 \203 \202 \306\307\310\311\312\313 \n\"\"\"!\310\211\310\211,\203Y,@\314 !\211-\203O\315\316-\"\310.\317\320 \"\211.\203O \321 .T\"\202P .\203{ A\211\203N\322=\203s \203N.\202NB\202N\315\323-\"A\315\324-\"A\315\325-\"A\315\326-\"A\315\327-\"A\315\330-\"A\211\204\276 \204\276 \204\276 \203L\331\332\333\313\205\314 \334!C\205\326 \334!C\205\354 <\203\351 \311\334\"\202\354 C\205\364 C$\335#\336Q\337\340\341\342\211%<\203\343\313\311\344\"\"\202\345D/0\2032\313\3460D/.C#B\202@\313\347D/.C#B*\317\350\"\203L\310.*),A\211,\204% *\203i1\203iB\351!1\203v\352\202w\353B\203\2121\204\212\352E*\207" [groups gnus-newsrc-alist gnus-parameters split group-names group delete-dups delq nil mapcar #[(info) "@\n\203 \n;\205 \303\n \"\205 )\207" [info group groups string-match] 3] append gnus-group-find-parameter assoc split-spec string-match ":" substring catch-all to-address to-list extra-aliases split-regexp split-exclude match-list "\\(" mapconcat identity regexp-quote "\\|" "\\)" replace-regexp-in-string "@" "[@.]" t apply #[(arg) "\301D\207" [arg -] 2] - list any "" reverse | & --dolist-tail-- params group-clean exclude split-regexp-with-list-ids no-crosspost] 10 (#$ . 3169)]) (provide 'gnus-mlspl)