Gnus development mailing list
 help / color / mirror / Atom feed
From: Dave Goldberg <david.goldberg6@verizon.net>
To: ding@gnus.org
Subject: Re: Number of unread articles suddenly incorrect with Exchange 2007
Date: Thu, 14 Oct 2010 11:18:51 -0400	[thread overview]
Message-ID: <84zkugiyzo.fsf@davestoy.home> (raw)
In-Reply-To: <m339s828bj.fsf@quimbies.gnus.org> (Lars Magne Ingebrigtsen's	message of "Thu, 14 Oct 2010 15:49:20 +0200")


> Dave Goldberg <david.goldberg6@verizon.net> writes:
>> Strangely enough (and perhaps this is the problem) that function does
>> not seem to be entered, when doing M-g for a group on either the cyrus
>> nor Exchange IMAP server.

> That's pretty bizarre.

> `nnimap-request-group' isn't called at all when you `M-g'?  That's the
> function that's suppose to request the data, parse it, and pass it on to
> `nnimap-update-info'. 

No it is indeed called.  Strange, when I went into nnimap.el and did
edebug-defun on nnimap-update-info M-g ran to completion without ever
having me step through that function.  However I tried debug-on-entry
both for that and nnimap-request-group and sure enough the debugger
took over as expected.  I tried stepping through.  I can see that the
results of the IMAP command (I think it's the FETCH) are being turned
into a list and that list is being stepped through. The list itself
clearly shows (at least in a previous return; now there's all those
...'s), only 11 articles that are not in the group flagged as Seen but
somehow the return for number of unread articles is being set to 40.
Here is the backtrace at the point I first (I think, might have been
one more recent call on the stack) see the 40 as a function result.  I
cannot figure out how it got there.

Debugger entered--returning value: 40
  gnus-group-set-parameter(("nnimap+exchange:INBOX" 2 ((1 . 583722)) ((seen 581195 ... 581205 581211 581216 581226 581229 581232 581236 581241 581247 581252 581255 581258 581262 ... 581272 ... 581283 581293 581297 581302 581306 581315 581319 581323 ... 581334 581346 581354 581359 581365 ... 581376 581380 581383 581387 581391 581396 ... 581406 581409 581414 581417 581423 581427 581431 581435 581439 ... ...)) "nnimap:exchange" ((permanent-flags) (modseq) (uidvalidity . "1899") (active 581195 . 583739) (imap-status . "574561 574023 574560"))) permanent-flags nil)
* (if (eq permanent-flags (quote not-scanned)) nil (gnus-group-set-parameter info (quote permanent-flags) (if ... t nil)))
* (unless (eq permanent-flags (quote not-scanned)) (gnus-group-set-parameter info (quote permanent-flags) (if ... t nil)))
* (let* ((group ...) (completep ...) (active ...)) (when uidnext (setq high ...)) (if (or completep ...) (gnus-set-active group ...) (gnus-set-active group ...)) (unless (eq permanent-flags ...) (gnus-group-set-parameter info ... ...)) (when (cdr ...) (if ... ... ...)) (gnus-group-set-parameter info (quote active) (gnus-active group)) (gnus-group-set-parameter info (quote uidvalidity) uidvalidity) (gnus-group-set-parameter info (quote modseq) highestmodseq) (nnimap-store-info info (gnus-active group)))
* (cond ((and ... ...) (let ... ...)) ((let ... ...) (gnus-group-remove-parameter info ...) (gnus-group-remove-parameter info ...)) (t (let* ... ... ... ... ... ... ... ... ...)))
* (let* ((--rest--59959 marks) (existing ...) (flags ...) (high ...) (low ...) (uidnext ...) (start-article ...) (permanent-flags ...) (uidvalidity ...) (vanished ...) (highestmodseq ...)) (cond (... ...) (... ... ...) (t ...)))
* (progn (let* (... ... ... ... ... ... ... ... ... ... ...) (cond ... ... ...)))
* (destructuring-bind (existing flags high low uidnext start-article permanent-flags uidvalidity vanished highestmodseq) marks (cond (... ...) (... ... ...) (t ...)))
* nnimap-update-info(("nnimap+exchange:INBOX" 2 ((1 . 583722)) ((seen 581195 ... 581205 581211 581216 581226 581229 581232 581236 581241 581247 581252 581255 581258 581262 ... 581272 ... 581283 581293 581297 581302 581306 581315 581319 581323 ... 581334 581346 581354 581359 581365 ... 581376 581380 581383 581387 581391 581396 ... 581406 581409 581414 581417 581423 581427 581431 581435 581439 ... ...)) "nnimap:exchange" ((permanent-flags) (modseq) (uidvalidity . "1899") (active 581195 . 583739) (imap-status . "574561 574023 574560"))) ((581195 581201 581202 581205 581211 581216 581226 581229 581232 581236 581241 581247 581252 581255 581258 581262 581266 581267 581272 581277 581278 581283 581293 581297 581302 581306 581315 581319 581323 581328 581329 581334 581346 581354 581359 581365 581370 581371 581376 581380 581383 581387 581391 581396 581399 581400 581406 581409 581414 581417 581423 ...) ((%Answered 581504) (%Seen 581195 581201 581202 581205 581211 581216 581226 581229 581232 581236 581241 581247 581252 581255 581258 581262 581266 581267 581272 581277 581278 581283 581293 581297 581302 581306 581315 581319 581323 581328 581329 581334 581346 581354 581359 581365 581370 581371 581376 581380 581383 581387 581391 581396 581399 581400 581406 581409 581414 581417 ...) (%Recent 583762)) 583762 581195 583763 1 (%Seen %Answered %Flagged %Deleted %Draft $MDNSent) "1899" nil nil))
  (if marks (nnimap-update-info info marks))
  (when marks (nnimap-update-info info marks))
  (let* ((group ...) (marks ...)) (when marks (nnimap-update-info info marks)))
  (while --dolist-temp--59957 (setq info (car --dolist-temp--59957)) (let* (... ...) (when marks ...)) (setq --dolist-temp--59957 (cdr --dolist-temp--59957)))
  (let ((--dolist-temp--59957 infos) info) (while --dolist-temp--59957 (setq info ...) (let* ... ...) (setq --dolist-temp--59957 ...)) nil)
  (catch (quote --cl-block-nil--) (let (... info) (while --dolist-temp--59957 ... ... ...) nil))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil)))
  (block nil (let (... info) (while --dolist-temp--59957 ... ... ...) nil))
  (dolist (info infos) (let* (... ...) (when marks ...)))
  nnimap-update-infos((("INBOX" (581195 581201 581202 581205 581211 581216 581226 581229 581232 581236 581241 581247 581252 581255 581258 581262 581266 581267 581272 581277 581278 581283 581293 581297 581302 581306 581315 581319 581323 581328 581329 581334 581346 581354 581359 581365 581370 581371 581376 581380 581383 581387 581391 581396 581399 581400 581406 581409 581414 581417 581423 ...) (... ... ...) 583762 581195 583763 1 (%Seen %Answered %Flagged %Deleted %Draft $MDNSent) "1899" nil nil)) (("nnimap+exchange:INBOX" 2 (...) (...) "nnimap:exchange" (... ... ... ... ...))))
  (if (and info marks) (nnimap-update-infos marks (list info)))
  (when (and info marks) (nnimap-update-infos marks (list info)))
  (let ((group-sequence ...) (flag-sequence ...)) (nnimap-wait-for-response flag-sequence) (setq marks (nnimap-flags-to-marks ...)) (when (and info marks) (nnimap-update-infos marks ...)) (goto-char (point-max)) (let (...) (setq high ... low ...)))
  (save-current-buffer (set-buffer (nnimap-buffer)) (erase-buffer) (let (... ...) (nnimap-wait-for-response flag-sequence) (setq marks ...) (when ... ...) (goto-char ...) (let ... ...)))
  (with-current-buffer (nnimap-buffer) (erase-buffer) (let (... ...) (nnimap-wait-for-response flag-sequence) (setq marks ...) (when ... ...) (goto-char ...) (let ... ...)))
  (if (and dont-check (setq active ...)) (insert (format "211 %d %d %d %S\n" ... ... ... group)) (with-current-buffer (nnimap-buffer) (erase-buffer) (let ... ... ... ... ... ...)) (erase-buffer) (insert (format "211 %d %d %d %S\n" ... low high group)))
  (progn (if (and dont-check ...) (insert ...) (with-current-buffer ... ... ...) (erase-buffer) (insert ...)) t)
  (if result (progn (if ... ... ... ... ...) t))
  (when result (if (and dont-check ...) (insert ...) (with-current-buffer ... ... ...) (erase-buffer) (insert ...)) t)
  (save-current-buffer (set-buffer nntp-server-buffer) (when result (if ... ... ... ... ...) t))
  (with-current-buffer nntp-server-buffer (when result (if ... ... ... ... ...) t))
  (let ((result ...) articles active marks high low) (with-current-buffer nntp-server-buffer (when result ... t)))
  nnimap-request-group("INBOX" "exchange" nil ("nnimap+exchange:INBOX" 2 ((1 . 583722)) ((seen 581195 ... 581205 581211 581216 581226 581229 581232 581236 581241 581247 581252 581255 581258 581262 ... 581272 ... 581283 581293 581297 581302 581306 581315 581319 581323 ... 581334 581346 581354 581359 581365 ... 581376 581380 581383 581387 581391 581396 ... 581406 581409 581414 581417 581423 581427 581431 581435 581439 ... ...)) "nnimap:exchange" ((permanent-flags) (modseq) (uidvalidity . "1899") (active 581195 . 583739) (imap-status . "574561 574023 574560"))))
  byte-code("..." [dont-sub-check info dont-check gname group gnus-command-method 2 intern-soft gnus-find-method-for-group gnus-server-to-method gnus-get-function request-group string-match "^[^:]+:" 0 nil 1 method gnus-newsrc-hashtb] 8)
  gnus-activate-group("nnimap+exchange:INBOX" scan nil (nnimap "exchange" (nnimap-address "exchange.mywork.org") (nnimap-stream starttls) (nnimap-need-unselect-to-notice-new-mail t) (nnir-search-engine (quote imap)) (nnir-mail-backend "nnimap:exchange") (nnimap-nov-is-evil t)))
  gnus-group-get-new-news-this-group(nil)
  gnus-topic-get-new-news-this-topic(nil)
  call-interactively(gnus-topic-get-new-news-this-topic)


-- 
Dave Goldberg
david.goldberg6@verizon.net



  reply	other threads:[~2010-10-14 15:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-13 13:42 Dave Goldberg
2010-10-13 18:25 ` Lars Magne Ingebrigtsen
2010-10-14 13:00   ` Dave Goldberg
2010-10-14 13:49     ` Lars Magne Ingebrigtsen
2010-10-14 15:18       ` Dave Goldberg [this message]
2010-10-14 18:10         ` Lars Magne Ingebrigtsen
2010-10-14 21:08           ` Dave Goldberg
2010-10-14 21:18             ` Lars Magne Ingebrigtsen
2010-10-14 17:54       ` James Cloos

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=84zkugiyzo.fsf@davestoy.home \
    --to=david.goldberg6@verizon.net \
    --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).