Synch to Oort Gnus.
authoryamaoka <yamaoka>
Sat, 1 Mar 2003 04:04:48 +0000 (04:04 +0000)
committeryamaoka <yamaoka>
Sat, 1 Mar 2003 04:04:48 +0000 (04:04 +0000)
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-msg.el
lisp/imap.el
lisp/spam.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus.texi

index 299abd6..fd74aca 100644 (file)
@@ -1,3 +1,22 @@
+2003-02-28  Vasily Korytov <deskpot@myrealbox.com>
+
+       * gnus-art.el (gnus-boring-article-headers): New values:
+       'to-list and 'cc-list.
+       
+2003-02-28  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * spam.el (spam-setup-widening): new function to set
+       nnimap-split-download-body, we add it to gnus-get-new-news-hook
+       (spam-list-of-statistical-checks): list of statistical splitter
+       checks
+       (spam-split): added a widen call when a statistical check is
+       enabled
+
+2003-02-28  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus-msg.el (gnus-user-agent): Changed default to
+       'emacs-gnus-type, renamed 'full.
+
 2003-02-28  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * nnfolder.el (nnfolder-request-accept-article): Don't use
index b2210af..9482842 100644 (file)
@@ -194,6 +194,8 @@ Possible values in this list are:
   'empty       Headers with no content.
   'newsgroups  Newsgroup identical to Gnus group.
   'to-address  To identical to To-address.
+  'to-list     To identical to To-list.
+  'cc-list     CC identical to To-list.
   'followup-to Followup-to identical to Newsgroups.
   'reply-to    Reply-to identical to From.
   'date        Date less than four days old.
@@ -202,6 +204,8 @@ Possible values in this list are:
   :type '(set (const :tag "Headers with no content." empty)
              (const :tag "Newsgroups identical to Gnus group." newsgroups)
              (const :tag "To identical to To-address." to-address)
+             (const :tag "To identical to To-list." to-list)
+             (const :tag "CC identical to To-list." cc-list)
              (const :tag "Followup-to identical to Newsgroups." followup-to)
              (const :tag "Reply-to identical to From." reply-to)
              (const :tag "Date less than four days old." date)
@@ -1729,6 +1733,32 @@ always hide."
                              (nth 1 (mail-extract-address-components to))
                              to-address)))
                  (gnus-article-hide-header "to"))))
+            ((eq elem 'to-list)
+             (let ((to (message-fetch-field "to"))
+                   (to-list
+                    (gnus-parameter-to-list
+                     (if (boundp 'gnus-newsgroup-name)
+                         gnus-newsgroup-name ""))))
+               (when (and to to-list
+                          (ignore-errors
+                            (gnus-string-equal
+                             ;; only one address in To
+                             (nth 1 (mail-extract-address-components to))
+                             to-list)))
+                 (gnus-article-hide-header "to"))))
+            ((eq elem 'cc-list)
+             (let ((cc (message-fetch-field "cc"))
+                   (to-list
+                    (gnus-parameter-to-list
+                     (if (boundp 'gnus-newsgroup-name)
+                         gnus-newsgroup-name ""))))
+               (when (and cc to-list
+                          (ignore-errors
+                            (gnus-string-equal
+                             ;; only one address in CC
+                             (nth 1 (mail-extract-address-components cc))
+                             to-list)))
+                 (gnus-article-hide-header "cc"))))
             ((eq elem 'followup-to)
              (when (gnus-string-equal
                     (message-fetch-field "followup-to")
index c811ab9..b60fedf 100644 (file)
@@ -309,21 +309,23 @@ If nil, the address field will always be empty after invoking
   :group 'gnus-message
   :type 'boolean)
 
-(defcustom gnus-user-agent 'full
+(defcustom gnus-user-agent 'emacs-gnus-type
   "Which information should be exposed in the User-Agent header.
 
-It can be one of the symbols `full' \(show full information, i.e. Emacs and
-Gnus version and system configuration\), `emacs-gnus' \(show only Emacs and
-Gnus version\), `emacs-gnus-type' \(same as `emacs-gnus' plus system type\),
-`gnus' \(show only Gnus version\) or a custom string.  If you set it to a
+It can be one of the symbols `gnus' \(show only Gnus version\) `emacs-gnus'
+\(show only Emacs and Gnus versions\), `emacs-gnus-config' \(same as
+`emacs-gnus' plus system configuration\), `emacs-gnus-type' \(same as
+`emacs-gnus' plus system type\) or a custom string.  If you set it to a
 string, be sure to use a valid format, see RFC 2616."
   :group 'gnus-message
-  :type '(choice (item :tag "Show full info" full)
-                (item :tag "Show Gnus and Emacs versions and system type"
-                      emacs-gnus-type)
-                (item :tag "Show Gnus and Emacs versions" emacs-gnus)
-                (item :tag "Show only Gnus version" gnus)
-                (string :tag "Other")))
+  :type '(choice
+         (item :tag "Show Gnus and Emacs versions and system type"
+               emacs-gnus-type)
+         (item :tag "Show Gnus and Emacs versions and system configuration"
+               emacs-gnus-config)
+         (item :tag "Show Gnus and Emacs versions" emacs-gnus)
+         (item :tag "Show only Gnus version" gnus)
+         (string :tag "Other")))
 
 ;;; Internal variables.
 
index 03f9daa..1f4c63f 100644 (file)
@@ -1,5 +1,5 @@
 ;;; imap.el --- imap library
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
 ;;        Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <jas@pdc.kth.se>
index 3f38117..bd66baf 100644 (file)
@@ -559,6 +559,11 @@ should go, and further checks are also inhibited.  The usual mailgroup
 name is the value of `spam-split-group', meaning that the message is
 definitely a spam.")
 
+(defvar spam-list-of-statistical-checks
+  '(spam-use-ifile spam-use-stat spam-use-bogofilter)
+"The spam-list-of-statistical-checks list contains all the mail
+splitters that need to have the full message body available.")
+
 (defun spam-split ()
   "Split this message into the `spam' group if it is spam.
 This function can be used as an entry in `nnmail-split-fancy', for
@@ -566,7 +571,14 @@ example like this: (: spam-split)
 
 See the Info node `(gnus)Fancy Mail Splitting' for more details."
   (interactive)
-  
+
+  (dolist (check spam-list-of-statistical-checks)
+    (when (symbol-value check)
+      (widen)
+      (gnus-message 8 "spam-split: widening the buffer (%s requires it)"
+                   (symbol-name check))
+      (return)))
+;;   (progn (widen) (debug (buffer-string)))
   (let ((list-of-checks spam-list-of-checks)
        decision)
     (while (and list-of-checks (not decision))
@@ -577,6 +589,15 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
     (if (eq decision t)
        nil
       decision)))
+
+(defun spam-setup-widening ()
+  (dolist (check spam-list-of-statistical-checks)
+    (when (symbol-value check)
+      (setq nnimap-split-download-body t)
+      (return))))
+
+(add-hook 'gnus-get-new-news-hook 'spam-setup-widening)
+
 \f
 ;;;; Regex headers
 
index 0d570ed..84556a0 100644 (file)
@@ -1,3 +1,8 @@
+2003-02-28  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * gnus.texi (Extending the spam elisp package): added mention of
+       spam-list-of-statistical-checks
+
 2003-02-27  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * gnus.texi: Remove the dependence on ssl.el.
index c697dd0..3aee8d0 100644 (file)
@@ -21499,6 +21499,11 @@ Spam \e$B$H\e(B ham \e$B$N%W%m%;%C%5!<$H\e(B @code{spam-split} \e$B$N$?$a\e(B
 @code{spam-check-blackbox} \e$B4X?t$r=q$$$F2<$5$$!#$=$l\e(B
 \e$B$O\e(B @samp{nil} \e$B$+\e(B @code{spam-split-group} \e$B$rJV$5$J$1$l$P$J$j$^$;$s!#$"$J\e(B
 \e$B$?$K$G$-$k$3$H$NNc$O!"4{B8$N\e(B @code{spam-check-*} \e$B4X?t$r;2>H$7$F$/$@$5$$!#\e(B
+
+\e$B%V%i%C%/%\%C%/%9$,!"$=$l$,F0:n$9$k$?$a$K%a%C%;!<%8A4BN$rI,MW$H$9$kE}7WE*\e(B
+\e$B%a!<%kJ,@O4o$G$"$k$N$J$i$P!"\e(B
+@code{spam-list-of-statistical-checks} \e$B$K\e(B @code{spam-use-blackbox} \e$B$rDI\e(B
+\e$B2C$9$k$3$H$rK:$l$J$$$G2<$5$$!#\e(B
 @end enumerate
 
 Spam \e$B$H\e(B ham \e$B%a%C%;!<%8$r=hM}$9$k$K$O!"0J2<$rMQ0U$7$F2<$5$$\e(B:
index c4f9810..f3ded5f 100644 (file)
@@ -21978,6 +21978,11 @@ functionality
 Write the @code{spam-check-blackbox} function.  It should return
 @samp{nil} or @code{spam-split-group}.  See the existing
 @code{spam-check-*} functions for examples of what you can do.
+
+Make sure to add @code{spam-use-blackbox} to
+@code{spam-list-of-statistical-checks} if Blackbox is a statistical
+mail analyzer that needs the full message body to operate.
+
 @end enumerate
 
 For processing spam and ham messages, provide the following: