From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/52655 Path: main.gmane.org!not-for-mail From: Kevin Greiner Newsgroups: gmane.emacs.gnus.general Subject: Re: I'm fairly sure that gnus/imap/agent/expiry is, um, *verb*ing Date: Tue, 13 May 2003 22:45:01 -0500 Sender: ding-owner@lists.math.uh.edu Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1052883861 20122 80.91.224.249 (14 May 2003 03:44:21 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 14 May 2003 03:44:21 +0000 (UTC) Original-X-From: ding-owner+M1199@lists.math.uh.edu Wed May 14 05:44:19 2003 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19FnBi-0005EO-00 for ; Wed, 14 May 2003 05:44:18 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19FnCo-0005Ww-00; Tue, 13 May 2003 22:45:26 -0500 Original-Received: from sclp3.sclp.com ([64.157.176.121]) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19FnCe-0005Wo-00 for ding@lists.math.uh.edu; Tue, 13 May 2003 22:45:17 -0500 Original-Received: (qmail 61060 invoked by alias); 14 May 2003 03:45:16 -0000 Original-Received: (qmail 61055 invoked from network); 14 May 2003 03:45:16 -0000 Original-Received: from quimby.gnus.org (80.91.224.244) by sclp3.sclp.com with SMTP; 14 May 2003 03:45:16 -0000 Original-Received: from news by quimby.gnus.org with local (Exim 3.12 #1 (Debian)) id 19FnID-0004MS-00 for ; Wed, 14 May 2003 05:51:01 +0200 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 76 Original-NNTP-Posting-Host: 198.64.160.186 Original-X-Trace: quimby.gnus.org 1052884261 16767 198.64.160.186 (14 May 2003 03:51:01 GMT) Original-X-Complaints-To: usenet@quimby.gnus.org Original-NNTP-Posting-Date: 14 May 2003 03:51:01 GMT User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (windows-nt) Cancel-Lock: sha1:HbYDAZAX66p/ZUdK9yh59L9mZUQ= Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:52655 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:52655 Wes Hardaker writes: > I turned off the agent a while back because I thought it was causing > problems with older mail getting deleted. I'm was quite convinced > that was the case again, as I just added my imap server back as an > agent to speed up group entry, as has been discussed here in the last > few weeks. After an expiry process finished: > > ; relevant settings: > (setq gnus-total-expirable-newsgroups "nnimap\\+server:mlists") > > ; done when idle: > (gnus-group-expire-all-groups) > (gnus-agent-expire) > > I entered a mailing list that did *not* match the above expression, > and noticed that the summary was a ton shorter than normal > (specifically, the read mail (but not marked as expirable) was no > longer shown). I figured gnus had deleted the mail again and my > earlier suspicions were confirmed. Entering the group with a C-u to > double check showed the mail still missing. > > This time, however, I went to the server buffer, removed the agent > from the imap server and re-entered my group to find that all the old > mail (read) reappeared but so had every other message that was marked > as expirable but was now no longer marked that way. > > So, my best guess is that for !total-expirary groups: > > 1) the agent doesn't honor the gnus-total-expirable-newsgroups flag > and deletes the headers from its cache. Absolutely. :( The documentation for gnus-agent-expire states that it will expire (in the case of the agent, this means delete from the local store) "all read and unmarked articles". The only commonality with imap-based expiration is a misfortunite conjunction of names. > 2) While doing so, it somehow also removes the E mark for every > article as well. Nope. The agent expiration code doesn't touch marks. It could be that the imap backend "cleaned up" its marks since they were referring to articles that did not appear to exist. > 3) this leaves things in a state which means: > a) the agent's cached headers don't contain stuff for every > article that is really in the backend (imap). > b) if the agent is removed from the process, the previously > marked articles have lose their expirary mark. > > Help? What you didn't realize is that imap expiration is already linked to the agent. If imap expires an article, it will instruct the agent to remove that article from the local disk. That means that you don't need to run gnus-agent-expire on any of your imap servers. Solutions: 1) If you're only using the agent with imap, don't call gnus-agent-expire. 2) If you're using agent with other backends, edit the group parameters for each mailing list to disable agent expiration. Now you'll be able to run gnus-agent-expiration without it messing up your read messages. Well, it does appear that there is a bug in the agent code. It's just not what you expected. If you disable agent expiration on a group, you also disable imap's ability to selectively call gnus-agent-expire. I'll check-in a fix on this one, but it will mean that you'll have to update to the CVS version to use it. Sorry about the inconvenience. Kevin