From: Simon Josefsson <jas@extundo.com>
Cc: ding@gnus.org
Subject: Re: nnimap-request-expire-articles bug? (Was Re: nnimap, expiry-target, nnmail-fancy-expiry-targets)
Date: Mon, 29 Jul 2002 13:47:59 +0200 [thread overview]
Message-ID: <ilusn22n4b4.fsf@latte.josefsson.org> (raw)
In-Reply-To: <87eldyajuu.fsf@hal.Olympus.INVALID> ("Davide G. M. Salvetti"'s message of "Sat, 20 Jul 2002 10:23:21 +0200")
"Davide G. M. Salvetti" <salve@icube.it> writes:
> So I found that gnus-request-expire-articles is passed a list of
> expirable articles which possibly contains no longer existent articles:
> since this is a totally-expirable group, it is passed
> (gnus-list-of-read-articles group), by gnus-group-expire-articles-1:
> according to the source this means active articles minus unread articles
> minus dormant articles minus tick marked; the thesis follow since active
> articles include deleted articles in between.
>
> When nnimap-request-expire-articles receives this list, it doesn't
> subtract non existing articles (contrary to what, say,
> nnml-request-expire-articles do), and does the whole list.
>
> Since we have an expiry-target in this group, nnmail-expiry-target-group
> gets called in the (possibly empty because no such article exists)
> buffer which results from nnimap-request-article, for each (possibly non
> existent) article in the list.
>
> In our situation nnmail-expiry-target-group calls
> nnmail-fancy-expiry-target, which barfs because it can't find any
> "From", "To", "Date", ... in the sadly empty buffer which resulted from
> the non existent article request.
>
> I think that nnimap-request-expire-articles should be fixed to subtract
> non existing articles before doing the list. I'd fix it, but at this
> moment I don't know how to open the right holes (corresponding to
> deleted articles) in the list.
Yup. Does this work?
Index: nnimap.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/nnimap.el,v
retrieving revision 6.37
diff -u -p -u -w -r6.37 nnimap.el
--- nnimap.el 2002/07/10 16:28:39 6.37
+++ nnimap.el 2002/07/29 12:04:54
@@ -1296,7 +1296,10 @@ function is generally only called when G
(defun nnimap-expiry-target (arts group server)
(unless (eq nnmail-expiry-target 'delete)
(with-temp-buffer
- (dolist (art (gnus-uncompress-sequence arts))
+ (dolist (art (imap-search (concat "UID "
+ (imap-range-to-message-set
+ (gnus-uncompress-sequence arts)))
+ nnimap-server-buffer))
(nnimap-request-article art group server (current-buffer))
;; hints for optimization in `nnimap-request-accept-article'
(let ((nnimap-current-move-article art)
@@ -1312,16 +1315,15 @@ function is generally only called when G
(let ((artseq (gnus-compress-sequence articles)))
(when (and artseq (nnimap-possibly-change-group group server))
(with-current-buffer nnimap-server-buffer
- (if force
- (progn
- (nnimap-expiry-target artseq group server)
- (when (imap-message-flags-add (imap-range-to-message-set artseq)
- "\\Deleted")
- (setq articles nil)))
(let ((days (or (and nnmail-expiry-wait-function
(funcall nnmail-expiry-wait-function group))
nnmail-expiry-wait)))
- (cond ((eq days 'immediate)
+ (cond (force
+ (nnimap-expiry-target artseq group server)
+ (when (imap-message-flags-add
+ (imap-range-to-message-set artseq) "\\Deleted")
+ (setq articles nil)))
+ ((eq days 'immediate)
(nnimap-expiry-target artseq group server)
(when (imap-message-flags-add
(imap-range-to-message-set artseq) "\\Deleted")
next prev parent reply other threads:[~2002-07-29 11:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-19 14:02 nnimap, expiry-target, nnmail-fancy-expiry-targets Davide G. M. Salvetti
2002-07-19 15:24 ` Nevin Kapur
2002-07-20 8:23 ` nnimap-request-expire-articles bug? (Was Re: nnimap, expiry-target, nnmail-fancy-expiry-targets) Davide G. M. Salvetti
2002-07-20 23:34 ` [PATCH] nnmail-fancy-expiry-target Nevin Kapur
2002-07-21 8:54 ` Kai Großjohann
2002-07-21 14:12 ` Nevin Kapur
2002-07-21 15:56 ` Kai Großjohann
2002-07-26 14:30 ` Davide G.M.Salvetti
2002-07-26 15:43 ` Nevin Kapur
2002-07-26 16:43 ` Simon Josefsson
2002-07-28 16:17 ` Nevin Kapur
2002-07-29 11:46 ` Simon Josefsson
2002-07-29 13:10 ` Nevin Kapur
2002-07-29 11:47 ` Simon Josefsson [this message]
2002-07-29 11:58 ` nnimap-request-expire-articles bug? (Was Re: nnimap, expiry-target, nnmail-fancy-expiry-targets) Simon Josefsson
2002-07-19 15:38 ` nnimap, expiry-target, nnmail-fancy-expiry-targets Nevin Kapur
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ilusn22n4b4.fsf@latte.josefsson.org \
--to=jas@extundo.com \
--cc=ding@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).