Synch to No Gnus 200412061614.
authoryamaoka <yamaoka>
Mon, 6 Dec 2004 22:14:48 +0000 (22:14 +0000)
committeryamaoka <yamaoka>
Mon, 6 Dec 2004 22:14:48 +0000 (22:14 +0000)
ChangeLog
GNUS-NEWS
lisp/ChangeLog
lisp/spam-stat.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus-news.texi
texi/gnus.texi

index 936f558..23b5839 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-12-06  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * GNUS-NEWS: Generated.
+
 2004-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * lisp/encrypt.el: Bind password-cache-expiry when compiling.
index 6db5c54..b7d2657 100644 (file)
--- a/GNUS-NEWS
+++ b/GNUS-NEWS
@@ -23,12 +23,12 @@ in general.
 ** The nntp back end store article marks in `~/News/marks'.
 
 The directory can be changed using the (customizable) variable
-`nntp-marks-directory', and marks can be disabled using the (backend)
-variable `nntp-marks-is-evil'.  The advantage of this is that you can
-copy `~/News/marks' (using rsync, scp or whatever) to another Gnus
-installation, and it will realize what articles you have read and
-marked.  The data in `~/News/marks' has priority over the same data
-in `~/.newsrc.eld'.
+`nntp-marks-directory', and marks can be disabled using the (back
+end) variable `nntp-marks-is-evil'.  The advantage of this is that
+you can copy `~/News/marks' (using rsync, scp or whatever) to another
+Gnus installation, and it will realize what articles you have read
+and marked.  The data in `~/News/marks' has priority over the same
+data in `~/.newsrc.eld'.
 
 ** Picons can be displayed right from the textual address, see
 `gnus-picon-style'
@@ -64,7 +64,7 @@ when the server support it.
 
 It is enabled by default (see `password-cache'), with a short timeout
 of 16 seconds (see `password-cache-expiry').  If PGG is used as the
-PGP backend, the PGP passphrase is managed by this mechanism.
+PGP back end, the PGP passphrase is managed by this mechanism.
 Passwords for ManageSieve connections are managed by this mechanism,
 after quering the user about whether to do so.
 
@@ -84,6 +84,13 @@ header.  This changes the default of `gnus-article-loose-mime'.
 the Gnus manual, section Hashcash, for more information.  Use (setq
 message-generate-hashcash t) to enable.
 
+** Gnus supports new limiting commands in the Summary buffer: `/ r'
+(`gnus-summary-limit-to-replied') and `/ R'
+(`gnus-summary-limit-to-recipient').
+
+** Gnus supports a new sort command in the Summary buffer: `C-c C-s C-t'
+(`gnus-summary-sort-by-recipient').
+
 \f
 * For older news, see Gnus info node "New Features".
 
index 6a9b2cb..81a7ef9 100644 (file)
@@ -1,3 +1,9 @@
+2004-12-05  Nelson Ferreira  <nelson.ferreira@ieee.org>
+
+       * spam-stat.el (spam-stat-save): Load the hashtable from disk only
+       if there is no hashtable in memory or file modification time is
+       newer than cached timestamp.
+
 2004-12-03  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * gnus-sum.el (gnus-summary-limit-to-recipient): Implement
index 30d1214..585fc42 100644 (file)
@@ -186,6 +186,9 @@ been touched in this many days will be considered.  Without
 this filter, re-training spam-stat with several thousand messages
 will start to take a very long time.")
 
+(defvar spam-stat-last-saved-at nil
+  "Time stamp of last change of spam-stat-file on this run")
+
 (defvar spam-stat-syntax-table
   (let ((table (copy-syntax-table text-mode-syntax-table)))
     (modify-syntax-entry ?- "w" table)
@@ -401,14 +404,25 @@ spam-stat (spam-stat-to-hash-table '(" spam-stat-ngood spam-stat-nbad))
                                  (spam-stat-bad entry))))
                   spam-stat)
          (insert ")))"))))
-       (setq spam-stat-dirty nil)))
+    (message "Saved %s."  spam-stat-file)
+    (setq spam-stat-dirty nil
+          spam-stat-last-saved-at (nth 5 (file-attributes spam-stat-file)))))
 
 (defun spam-stat-load ()
   "Read the `spam-stat' hash table from disk."
   ;; TODO: maybe we should warn the user if spam-stat-dirty is t?
   (let ((coding-system-for-read spam-stat-coding-system))
-    (load-file spam-stat-file))
-  (setq spam-stat-dirty nil))
+    (cond (spam-stat-dirty (message "Spam stat not loaded: spam-stat-dirty t"))
+          ((or (not (boundp 'spam-stat-last-saved-at))
+               (null spam-stat-last-saved-at)
+               (not (equal spam-stat-last-saved-at
+                           (nth 5 (file-attributes spam-stat-file)))))
+           (progn 
+             (load-file spam-stat-file)
+             (setq spam-stat-dirty nil
+                   spam-stat-last-saved-at 
+                   (nth 5 (file-attributes spam-stat-file)))))
+          (t (message "Spam stat file not loaded: no change in disk..")))))
 
 (defun spam-stat-to-hash-table (entries)
   "Turn list ENTRIES into a hash table and store as `spam-stat'.
index dbdc3c3..2a4a67f 100644 (file)
@@ -1,3 +1,13 @@
+2004-12-06  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus-news.texi: Mention `gnus-summary-limit-to-recipient' and 
+       `gnus-summary-sort-by-recipient'.
+
+       * gnus.texi (Filtering Spam Using The Spam ELisp Package): Index
+       `spam-initialize'.
+       (Limiting): Add `gnus-summary-limit-to-recipient'.
+       (Summary Sorting): Add `gnus-summary-sort-by-recipient'.
+
 2004-11-30  Simon Josefsson  <jas@extundo.com>
 
        * gnus.texi (Misc Article): Add, suggested by Reiner Steib
index 153f7de..2e01fb2 100644 (file)
@@ -6083,6 +6083,13 @@ gnus \e$B%(!<%8%'%s%H\e(B (@pxref{Agent Basics}) \e$B$O$$$/$D$+$N5-;v$r<+F0E*$K%@%&
 \e$B$9\e(B (@code{gnus-summary-limit-to-author})\e$B!#$b$7@\F,<-$,M?$($i$l$l$P!"9gCW\e(B
 \e$B$9$k5-;v$r=|30$7$^$9!#\e(B
 
+@item / R
+@kindex / R (\e$B35N,\e(B)
+@findex gnus-summary-limit-to-recipient
+\e$B35N,%P%C%U%!$r$$$/$D$+$N<u?.<T$K9gCW$9$k5-;v$@$1$K@)8B$7$^\e(B
+\e$B$9\e(B (@code{gnus-summary-limit-to-recipient})\e$B!#$b$7@\F,<-$,M?$($i$l$l$P!"\e(B
+\e$B9gCW$9$k5-;v$r=|30$7$^$9!#\e(B
+
 @item / x
 @kindex / x (\e$B35N,\e(B)
 @findex gnus-summary-limit-to-extra
@@ -6741,6 +6748,7 @@ gnus \e$B$OA4$F$N5-;v$N40A4$J\e(B @code{References} \e$BMs$r8+$F!"F1$8%9%l%C%I$KB0$
 @findex gnus-thread-sort-by-score
 @findex gnus-thread-sort-by-subject
 @findex gnus-thread-sort-by-author
+@c @findex gnus-thread-sort-by-recipient
 @findex gnus-thread-sort-by-number
 @findex gnus-thread-sort-by-random
 @vindex gnus-thread-sort-functions
@@ -8888,6 +8896,11 @@ gnus \e$B$G%a!<%k$rFI$`$3$H$NM-Mx$JE@$O!"C1=c$J%P%0$rAG@2$i$7$$IT>rM}$KCV$-\e(B
 @findex gnus-summary-sort-by-author
 \e$BCx<T$K$h$C$FJB$SBX$($^$9\e(B (@code{gnus-summary-sort-by-author})\e$B!#\e(B
 
+@item C-c C-s C-t
+@kindex C-c C-s C-t (\e$B35N,\e(B)
+@findex gnus-summary-sort-by-recipient
+\e$B<u?.<T$K$h$C$FJB$SBX$($^$9\e(B (@code{gnus-summary-sort-by-recipient})\e$B!#\e(B
+
 @item C-c C-s C-s
 @kindex C-c C-s C-s (\e$B35N,\e(B)
 @findex gnus-summary-sort-by-subject
@@ -21711,6 +21724,7 @@ Gnus \e$B$O\e(B hashcash \e$B%/%C%-!<$rG'>Z$9$k$3$H$,$G$-$^$9$,!"<j$G%+%9%?%^%$%:$7
 @code{spam.el} \e$B%7!<%1%s%9$N%$%Y%s%H$N9`$r$A$c$s$HFI$_$^$7$g$&!#\e(B
 @ref{Spam ELisp Package Sequence of Events} \e$B$r;2>H$7$F2<$5$$!#\e(B
 
+@cindex spam-initialize
 @code{spam.el} \e$B$r;H$&$K$O!"\e(B@code{spam.el} \e$B$r<+F0FI$_9~$_\e(B (autoload) \e$B$7\e(B
 \e$B$F\e(B @code{spam.el} \e$B$N3F%U%C%/$r%$%s%9%H!<%k$9$k$?$a$K!"4X\e(B
 \e$B?t\e(B @code{spam-initialize} \e$B$r\e(B @strong{\e$B<B9T$7$J$1$l$P$J$j$^$;$s\e(B}\e$B!#0l$DNc30\e(B
index 9ce42d0..f8507ba 100644 (file)
@@ -100,6 +100,13 @@ This changes the default of @code{gnus-article-loose-mime}.
 See the Gnus manual, section Hashcash, for more information.  Use
 (setq message-generate-hashcash t) to enable.
 
+@item Gnus supports new limiting commands in the Summary buffer:
+@kbd{/ r} (@code{gnus-summary-limit-to-replied}) and @kbd{/ R}
+(@code{gnus-summary-limit-to-recipient}).
+
+@item Gnus supports a new sort command in the Summary buffer:
+@kbd{C-c C-s C-t} (@code{gnus-summary-sort-by-recipient}).
+
 @end itemize
 
 @c gnus-news.texi ends here.
index 0f6f99b..f384185 100644 (file)
@@ -6265,6 +6265,13 @@ Limit the summary buffer to articles that match some author
 (@code{gnus-summary-limit-to-author}).  If given a prefix, exclude
 matching articles.
 
+@item / R
+@kindex / R (Summary)
+@findex gnus-summary-limit-to-recipient
+Limit the summary buffer to articles that match some recipient
+(@code{gnus-summary-limit-to-recipient}).  If given a prefix, exclude
+matching articles.
+
 @item / x
 @kindex / x (Summary)
 @findex gnus-summary-limit-to-extra
@@ -6965,6 +6972,7 @@ Matching}).
 @findex gnus-thread-sort-by-score
 @findex gnus-thread-sort-by-subject
 @findex gnus-thread-sort-by-author
+@c @findex gnus-thread-sort-by-recipient
 @findex gnus-thread-sort-by-number
 @findex gnus-thread-sort-by-random
 @vindex gnus-thread-sort-functions
@@ -9556,6 +9564,11 @@ Sort by article number (@code{gnus-summary-sort-by-number}).
 @findex gnus-summary-sort-by-author
 Sort by author (@code{gnus-summary-sort-by-author}).
 
+@item C-c C-s C-t
+@kindex C-c C-s C-t (Summary)
+@findex gnus-summary-sort-by-recipient
+Sort by recipient (@code{gnus-summary-sort-by-recipient}).
+
 @item C-c C-s C-s
 @kindex C-c C-s C-s (Summary)
 @findex gnus-summary-sort-by-subject
@@ -22619,6 +22632,7 @@ non-spam messages.
 Make sure you read the section on the @code{spam.el} sequence of
 events.  See @xref{Spam ELisp Package Sequence of Events}.
 
+@cindex spam-initialize
 To use @code{spam.el}, you @strong{must} run the function
 @code{spam-initialize} to autoload @code{spam.el} and to install the
 @code{spam.el} hooks.  There is one exception: if you use the