Gnus development mailing list
 help / color / mirror / Atom feed
From: Kevin Greiner <kgreiner@xpediantsolutions.com>
Subject: Re: Gnus lies about downloaded state
Date: Thu, 16 Jan 2003 16:31:30 -0600	[thread overview]
Message-ID: <uof6gpvzx.fsf@xpediantsolutions.com> (raw)
In-Reply-To: <u4r88hl49.fsf@adobe.com>

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

Danny Siu <dsiu@adobe.com> writes:

> I have removed gnus-agent-fetch-selected-article from
> gnus-select-article-hook but the summary still highlights incorrectly the
> downloaded ones with gnus-summary-normal-undownloaded-face in few of my
> nnimap groups.  I tried removing the agent cache and gnus-agent-regenerate
> but that didn't help. 
>
> Attached screen shot.  here is my gnus-summary-line-format.
>
> (setq gnus-summary-line-format "%U%R%z%5N%O %(%8&user-date; %~(pad 2)~(max
> 2)~(ignore \"1\")t%[%5k:%* %-20,20n%] %B%s%)\n")
>
> where should i start debugging this problem?

Your screen shot shows that articles 17663 though 17718 have a (-)
undownloaded flag AND are highlighted with the
gnus-summary-normal-undownloaded-face.  Your format places the
download mark (+/-) AFTER the article number (the (+) before the
number is its score).

Please verify that these articles have been fetched into the agent by
excuting

M-: (assq 17663 gnus-agent-article-alist)

If it returns (17663), everything is working fine.  If it returns
(17663 . #) then I can't explain this.

As for debugging, I'd debug in gnus-summary-insert-line.

You should be able to trace though it's setting gnus-tmp-downloaded to
either 32 (no-mark), 43 (undownloaded), or 45 (downloaded).

I do have a patch for gnus-sum.  You should be able to use
gnus-agent-fetch-selected-article after installing it.


[-- Attachment #2: Patch to fix line position calculation. --]
[-- Type: text/plain, Size: 3597 bytes --]

--- ../lisp.cvs_ref/gnus-sum.el	Mon Jan 13 23:06:13 2003
+++ gnus-sum.el	Thu Jan 16 16:11:41 2003
@@ -4022,40 +4022,41 @@
     (gnus-summary-goto-subject article)
     (let* ((datal (gnus-data-find-list article))
 	   (data (car datal))
-	   (length (when (cdr datal)
-		     (- (gnus-data-pos data)
-			(gnus-data-pos (cadr datal)))))
 	   (buffer-read-only nil)
 	   (level (gnus-summary-thread-level)))
       (gnus-delete-line)
-      (gnus-summary-insert-line
-       header level nil 
-       (memq article gnus-newsgroup-undownloaded)
-       (gnus-article-mark article)
-       (memq article gnus-newsgroup-replied)
-       (memq article gnus-newsgroup-expirable)
-       ;; Only insert the Subject string when it's different
-       ;; from the previous Subject string.
-       (if (and
-	    gnus-show-threads
-	    (gnus-subject-equal
-	     (condition-case ()
-		 (mail-header-subject
-		  (gnus-data-header
-		   (cadr
-		    (gnus-data-find-list
-		     article
-		     (gnus-data-list t)))))
-	       ;; Error on the side of excessive subjects.
-	       (error ""))
-	     (mail-header-subject header)))
-	   ""
-	 (mail-header-subject header))
-       nil (cdr (assq article gnus-newsgroup-scored))
-       (memq article gnus-newsgroup-processable))
-      (when length
-	(gnus-data-update-list
-	 (cdr datal) (- length (- (gnus-data-pos data) (point))))))))
+      (let ((inserted (- (point)
+                         (progn
+                           (gnus-summary-insert-line
+                            header level nil 
+                            (memq article gnus-newsgroup-undownloaded)
+                            (gnus-article-mark article)
+                            (memq article gnus-newsgroup-replied)
+                            (memq article gnus-newsgroup-expirable)
+                            ;; Only insert the Subject string when it's different
+                            ;; from the previous Subject string.
+                            (if (and
+                                 gnus-show-threads
+                                 (gnus-subject-equal
+                                  (condition-case ()
+                                      (mail-header-subject
+                                       (gnus-data-header
+                                        (cadr
+                                         (gnus-data-find-list
+                                          article
+                                          (gnus-data-list t)))))
+                                    ;; Error on the side of excessive subjects.
+                                    (error ""))
+                                  (mail-header-subject header)))
+                                ""
+                              (mail-header-subject header))
+                            nil (cdr (assq article gnus-newsgroup-scored))
+                            (memq article gnus-newsgroup-processable))
+                           (point)))))
+        (when (cdr datal)
+          (gnus-data-update-list
+           (cdr datal) 
+           (- (gnus-data-pos data) (gnus-data-pos (cadr datal)) inserted)))))))
 
 (defun gnus-summary-update-article (article &optional iheader)
   "Update ARTICLE in the summary buffer."
@@ -6776,7 +6777,7 @@
       (gnus-summary-goto-subject article t)))
   (gnus-summary-limit (append articles gnus-newsgroup-limit))
   (gnus-summary-position-point))
-  
+ 
 (defun gnus-summary-goto-subject (article &optional force silent)
   "Go the subject line of ARTICLE.
 If FORCE, also allow jumping to articles not currently shown."

[-- Attachment #3: Type: text/plain, Size: 9 bytes --]




Kevin

  reply	other threads:[~2003-01-16 22:31 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-14 17:28 Kai Großjohann
2003-01-14 21:42 ` kgreiner
2003-01-15  7:11   ` Kai Großjohann
2003-01-15  7:12   ` Kai Großjohann
2003-01-15  7:16   ` Kai Großjohann
2003-01-14 22:19 ` Danny Siu
2003-01-15  6:08   ` Kevin Greiner
2003-01-15  8:56     ` Danny Siu
2003-01-15 14:16     ` Kai Großjohann
2003-01-15 15:12       ` Kevin Greiner
2003-01-15 16:07         ` Kai Großjohann
2003-01-15 21:07           ` Kevin Greiner
2003-01-16  4:29           ` Kevin Greiner
2003-01-16  7:52             ` Danny Siu
2003-01-16 13:02               ` Kevin Greiner
2003-01-16 20:53                 ` Danny Siu
2003-01-16 22:31                   ` Kevin Greiner [this message]
2003-01-16 23:08                     ` Danny Siu
2003-01-17  3:35                       ` Kevin Greiner
2003-01-18 13:49             ` Kai Großjohann
2003-01-19 16:42               ` Kevin Greiner
2003-01-22 19:38                 ` Danny Siu
2003-01-23  4:10                   ` Kevin Greiner
2003-01-23 10:39                     ` Kai Großjohann
2003-01-23 13:16                       ` Kevin Greiner
2003-01-23 14:11                         ` Kai Großjohann
2003-01-23 19:45                     ` Danny Siu
2003-01-23 10:30                   ` Kai Großjohann
2003-01-15 18:27         ` Danny Siu
2003-01-16  1:21 Danny Siu

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=uof6gpvzx.fsf@xpediantsolutions.com \
    --to=kgreiner@xpediantsolutions.com \
    /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).