From 1775d8a0ce016ee4b2b14f455912131a34feac92 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Mon, 18 Jun 2001 01:21:17 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 16 ++++++++++++++++ lisp/gnus-art.el | 4 ++-- lisp/message.el | 2 +- lisp/nnimap.el | 39 +++++++++++++++++++++++++++------------ texi/ChangeLog | 9 +++++++++ texi/gnus-ja.texi | 24 ++++++++++++++++++++++++ texi/gnus.texi | 23 +++++++++++++++++++++++ 7 files changed, 102 insertions(+), 15 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9bb393d..d35532b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,19 @@ +2001-06-16 Simon Josefsson + + * nnimap.el (nnimap-split-articles): Support 'junk to-groups. + (nnimap-expunge-search-string): New variable. + (nnimap-request-expire-articles): Use it. + +2001-06-15 19:00:00 ShengHuo ZHU + + * message.el (message-send-mail-with-qmail): wrong exit status is + 100 not 1. Reported by Paul Jarc . + +2001-06-15 09:00:00 ShengHuo ZHU + + * gnus-art.el (article-strip-multiple-blank-lines): Use + delete-region instead of replace-match. + 2001-06-14 16:00:00 ShengHuo ZHU * nnweb.el (nnweb-google-parse-1): Fix Google content regexp. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index fd33000..1800e82 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -2200,10 +2200,10 @@ Point is left at the beginning of the narrowed-to region." (replace-match "" nil t))) ;; Then replace multiple empty lines with a single empty line. (article-goto-body) - (while (re-search-forward "\n\n\n+" nil t) + (while (re-search-forward "\n\n\\(\n+\\)" nil t) (unless (gnus-annotation-in-region-p (match-beginning 0) (match-end 0)) - (replace-match "\n\n" t t)))))) + (delete-region (match-beginning 1) (match-end 1))))))) (defun article-strip-leading-space () "Remove all white space from the beginning of the lines in the article." diff --git a/lisp/message.el b/lisp/message.el index a2d247f..d0ab827 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -3294,7 +3294,7 @@ to find out how to use this." ;; qmail-inject doesn't say anything on it's stdout/stderr, ;; we have to look at the retval instead (0 nil) - (1 (error "qmail-inject reported permanent failure")) + (100 (error "qmail-inject reported permanent failure")) (111 (error "qmail-inject reported transient failure")) ;; should never happen (t (error "qmail-inject reported unknown failure")))) diff --git a/lisp/nnimap.el b/lisp/nnimap.el index b29b5b4..82cbe81 100644 --- a/lisp/nnimap.el +++ b/lisp/nnimap.el @@ -236,7 +236,8 @@ There are two wildcards * and %. * matches everything, % matches everything in the current hierarchy.") (defvoo nnimap-news-groups nil - "IMAP support a news-like mode, also known as bulletin board mode, where replies is sent via IMAP instead of SMTP. + "IMAP support a news-like mode, also known as bulletin board mode, +where replies is sent via IMAP instead of SMTP. This variable should contain a regexp matching groups where you wish replies to be stored to the mailbox directly. @@ -251,6 +252,16 @@ news-like mailboxes. If you wish to have a group with todo items or similar which you wouldn't want to set up a mailing list for, you can use this to make replies go directly to the group.") +(defvoo nnimap-expunge-search-string "UID %s NOT SINCE %s" + "*IMAP search command to use for articles that are to be expired. +The first %s is replaced by a UID set of articles to search on, +and the second %s is replaced by a date criterium. + +One useful (and perhaps the only useful) value to change this to would +be `UID %s NOT SENTSINCE %s' to make nnimap use the Date: header +instead of the internal date of messages. See section 6.4.4 of RFC +2060 for more information on valid strings.") + (defvoo nnimap-server-address nil "Obsolete. Use `nnimap-address'.") @@ -1024,16 +1035,20 @@ function is generally only called when Gnus is shutting down." ;; copy article to right group(s) (setq removeorig nil) (dolist (to-group (nnimap-split-to-groups rule)) - (if (imap-message-copy (number-to-string article) - to-group nil 'nocopyuid) - (progn - (message "IMAP split moved %s:%s:%d to %s" server inbox - article to-group) - (setq removeorig t) - ;; Add the group-art list to the history list. - (push (list (cons to-group 0)) nnmail-split-history)) - (message "IMAP split failed to move %s:%s:%d to %s" server - inbox article to-group))) + (cond ((eq to-group 'junk) + (message "IMAP split removed %s:%s:%d" server inbox + article) + (setq removeorig t)) + ((imap-message-copy (number-to-string article) + to-group nil 'nocopyuid) + (message "IMAP split moved %s:%s:%d to %s" server + inbox article to-group) + (setq removeorig t) + ;; Add the group-art list to the history list. + (push (list (cons to-group 0)) nnmail-split-history)) + (t + (message "IMAP split failed to move %s:%s:%d to %s" + server inbox article to-group)))) ;; remove article if it was successfully copied somewhere (and removeorig (imap-message-flags-add (format "%d" article) @@ -1133,7 +1148,7 @@ function is generally only called when Gnus is shutting down." (setq articles nil))) ((numberp days) (let ((oldarts (imap-search - (format "UID %s NOT SINCE %s" + (format nnimap-expunge-search-string (imap-range-to-message-set artseq) (nnimap-date-days-ago days)))) (imap-fetch-data-hook diff --git a/texi/ChangeLog b/texi/ChangeLog index 2c620a8..075ab87 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,12 @@ +2001-06-17 Kai Gro,A_(Bjohann + + * gnus.texi (Group Line Specification): Explain why %t is only an + estimate. + +2001-06-16 Simon Josefsson + + * gnus.texi (IMAP): Add. + 2001-06-13 15:00:00 ShengHuo ZHU * gnus.texi (Article Washing): Add. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index e9c135a..47b0500 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -1756,6 +1756,16 @@ Gnus $B$N5/F0$K@.8y$7$?8e$K!"0lHV:G8e$K(B Gnus $B%a!<%j%s%0%j%9%H$K(B +$BO"Mm$7$F2<$5$$!#(B + @item y $BL$FI$G$b!"0uIU$-$G$b!"J]N1$G$b$J$$5-;v$N?t!#(B @@ -13883,6 +13893,20 @@ nnimap $B$O$=$l$b%5%]!<%H$7$^$9!#$7$+$7!"(BSSLeay $B$N:G?7HG$G$"$k(B 0.9.x  @end table +@item nnimap-expunge-search-string +@cindex Expunging +@vindex nnimap-expunge-search-string + +$B$3$NJQ?t$K$O!"4|8B@Z$l>C5n$9$k$N$,K>$^$7$$5-;v$rC5$9$H$-$K%5!<%P!<$KAw$C(B +$B$?(B IMAP $B$N8!:w%3%^%s%I$,F~$C$F$$$^$9!#%G%#%U%)%k%H(B +$B$O(B @code{"UID %s NOT SINCE %s"} $B$G!"$3$3$G:G=i$N(B @code{%s} $B$O(B UID $B$GCV$-(B +$B49$($i$l!"FsHVL\$N(B @code{%s} $B$OF|IU$GCV$-49$($i$l$^$9!#(B + +$B$?$V$s;H$$$b$N$K$J$kJL$NCM$O(B @code{"UID %s NOT SENTSINCE %s"} $B$G!"(B +nnimap $B$K5-;v$NFbItE*$JF|IU$NBe$o$j$K(B Date: $B$r;H$&$h$&$K$5$;$^$9!#$5$i$J(B +$B$k>pJs$d;H$&$3$H$,$G$-$kJ8;zNs$K$D$$$F$O!"(BRFC 2060 $B$N%;%/%7%g%s(B 6.4.4 $B$r(B +$B8+$F$/$@$5$$!#(B + @item nnimap-authinfo-file @vindex nnimap-authinfo-file diff --git a/texi/gnus.texi b/texi/gnus.texi index 2d25426..e4de4f0 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1692,6 +1692,15 @@ Number of read articles. Estimated total number of articles. (This is really @var{max-number} minus @var{min-number} plus 1.) +Gnus uses this estimation because the NNTP protocol provides efficient +access to @var{max-number} and @var{min-number} but getting the true +unread message count is not possible efficiently. For hysterical +raisins, even the mail backends, where the true number of unread +messages might be available efficiently, use the same limited +interface. To remove this restriction from Gnus means that the +backend interface has to be changed, which is not an easy job. If you +want to work on this, please contact the Gnus mailing list. + @item y Number of unread, unticked, non-dormant articles. @@ -14212,6 +14221,20 @@ articles or not. @end table +@item nnimap-expunge-search-string +@cindex Expunging +@vindex nnimap-expunge-search-string + +This variable contain the IMAP search command sent to server when +searching for articles eligible for expiring. The default is +@code{"UID %s NOT SINCE %s"}, where the first @code{%s} is replaced by +UID set and the second @code{%s} is replaced by a date. + +Probably the only useful value to change this to is +@code{"UID %s NOT SENTSINCE %s"}, which makes nnimap use the Date: in +messages instead of the internal article date. See section 6.4.4 of +RFC 2060 for more information on valid strings. + @item nnimap-authinfo-file @vindex nnimap-authinfo-file -- 1.7.10.4