Gnus development mailing list
 help / color / mirror / Atom feed
From: Katsumi Yamaoka <yamaoka@jpl.org>
To: ding@gnus.org
Subject: Re: [gmane.emacs.devel] gnus-read-mark not preserved
Date: Wed, 04 Jul 2007 18:21:20 +0900	[thread overview]
Message-ID: <b4m64504j8v.fsf@jpl.org> (raw)
In-Reply-To: <87ir921r5w.fsf@escher.local.home>

[-- Attachment #1: Type: text/plain, Size: 2245 bytes --]

>>>>> In <87ir921r5w.fsf@escher.local.home> Stephen Berman wrote:
> On Mon, 02 Jul 2007 21:15:35 +0900 Katsumi Yamaoka <yamaoka@jpl.org> wrote:

>> gnus-agent-synchronize-flags
>>
>> The default value is nil.  See (info "(gnus)Agent and flags").

> I am using Gnus 5.11 as included in the Emacs CVS trunk (currently GNU
> Emacs 22.1.50.6 (i686-pc-linux-gnu, GTK+ Version 2.10.6) of 2007-06-30
> on escher).  Here gnus-agent-synchronize-flags has the default value
> t[1] (and the Gnus info lacks a node "Agents and flags").

Sorry, I overlooked it, since I usually use No Gnus and see the
No Gnus sources.  I wonder why the default value differs between
Gnus v5.11 and No Gnus.  If anything, I think it should always be
t, or be hard coded.  There's a comment in gnus-agent.el:

> Footnotes:
> [1]  But the code has this rather puzzling comment [sic]:
>   ;; If the default switches to something else than nil, then the function
>   ;; should be fixed not be exceedingly slow.  See 2005-09-20 ChangeLog entry.

However, so far I don't see Gnus to be exceedingly slow.

Apart from this, I found an obvious bug that concerns the Agent,
though it might be different from Stephen Berman's problem.

cf. http://news.gmane.org/group/gmane.emacs.bugs/thread=16061

The prerequisites to cause this bug are:

1. You have persistent (i.e., cached, marked with `*') articles
   that you have read (or marked as ticked) in a group.

2. Some or all of those articles have been expired in the server.

3. You have ever performed `gnus-agent-expire' or
   `gnus-agent-regenerate', or have ever simply deleted the
   ~/News/agent/ directory.  (In the last case, the directory
   and files are regenerated automatically.)

In that case, some or all of persistent articles that have been
expired in the server are recognized as unfetched articles,
because the Agent cannot fetch those headers from the server.
And then, they are all marked as unread when you run the `c'
command (`gnus-summary-catchup-and-exit'), that recognizes
unfetched articles as unread articles.

I've fixed the `gnus-summary-catchup' function so that it might
not recognize cached articles as unfetched articles, in both the
v5-10 branch and the trunk.

The patch for Gnus v5.11 is here:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 561 bytes --]

--- gnus-sum.el~	2007-06-06 15:39:11 +0000
+++ gnus-sum.el	2007-07-04 09:02:52 +0000
@@ -10514,7 +10514,8 @@
 		      (gnus-sorted-nunion
                        (gnus-sorted-intersection gnus-newsgroup-unreads
 						 gnus-newsgroup-downloadable)
-                       gnus-newsgroup-unfetched)))
+		       (gnus-sorted-difference gnus-newsgroup-unfetched
+					       gnus-newsgroup-cached))))
 	    ;; We actually mark all articles as canceled, which we
 	    ;; have to do when using auto-expiry or adaptive scoring.
 	    (gnus-summary-show-all-threads)

  reply	other threads:[~2007-07-04  9:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-19  6:52 Stephen Berman
2007-06-22  9:51 ` Stephen Berman
2007-06-22 10:45   ` Katsumi Yamaoka
2007-06-22 10:57     ` Stephen Berman
2007-06-22  9:58 ` Stephen Berman
2007-06-22 10:33   ` Stephen Berman
2007-06-28 16:34   ` Florent Rougon
2007-06-29 11:06     ` Katsumi Yamaoka
2007-06-29 14:07       ` Florent Rougon
2007-07-02 12:15         ` Katsumi Yamaoka
2007-07-02 20:34           ` Stephen Berman
2007-07-04  9:21             ` Katsumi Yamaoka [this message]
2007-07-06  1:08               ` Katsumi Yamaoka
2007-07-06  9:04                 ` Stephen Berman
2007-09-02  9:27       ` Florent Rougon

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=b4m64504j8v.fsf@jpl.org \
    --to=yamaoka@jpl.org \
    --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).