From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/73116 Path: news.gmane.org!not-for-mail From: Dave Goldberg Newsgroups: gmane.emacs.gnus.general Subject: Re: Number of unread articles suddenly incorrect with Exchange 2007 Date: Thu, 14 Oct 2010 11:18:51 -0400 Message-ID: <84zkugiyzo.fsf@davestoy.home> References: <84k4lmgqet.fsf@davestoy.home> <847hhlj5dk.fsf@davestoy.home> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1287069596 21115 80.91.229.12 (14 Oct 2010 15:19:56 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 14 Oct 2010 15:19:56 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M21488@lists.math.uh.edu Thu Oct 14 17:19:55 2010 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P6Pay-0007hB-Mf for ding-account@gmane.org; Thu, 14 Oct 2010 17:19:53 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1P6Paf-0008VN-Oc; Thu, 14 Oct 2010 10:19:33 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1P6Pae-0008VC-DS for ding@lists.math.uh.edu; Thu, 14 Oct 2010 10:19:32 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1P6Pac-0003Gn-8j for ding@lists.math.uh.edu; Thu, 14 Oct 2010 10:19:31 -0500 Original-Received: from vms173019pub.verizon.net ([206.46.173.19]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1P6Paa-0002v1-00 for ; Thu, 14 Oct 2010 17:19:28 +0200 Original-Received: from davestoy.home.verizon.net ([unknown] [173.48.216.252]) by vms173019.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0LAA000OSD7FNBC2@vms173019.mailsrvcs.net> for ding@gnus.org; Thu, 14 Oct 2010 10:18:53 -0500 (CDT) X-Face: W!bie|rYVd43O:2CkHTb*~s5}Yzx30X<@6Tq_bnP56Hp!xX4sVl4tgYRirjRcke\wfY!JJ9 i?]VIUJicJzq2\!3%7$5R%wi!R[.]Va97q In-reply-to: (Lars Magne Ingebrigtsen's message of "Thu, 14 Oct 2010 15:49:20 +0200") User-Agent: Gnus/5.110011 (No Gnus v0.11) XEmacs/21.4.22 (linux) X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:73116 Archived-At: > Dave Goldberg 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'.=20 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 5813= 06 581315 581319 581323 ... 581334 581346 581354 581359 581365 ... 581376 5= 81380 581383 581387 581391 581396 ... 581406 581409 581414 581417 581423 58= 1427 581431 581435 581439 ... ...)) "nnimap:exchange" ((permanent-flags) (m= odseq) (uidvalidity . "1899") (active 581195 . 583739) (imap-status . "5745= 61 574023 574560"))) permanent-flags nil) * (if (eq permanent-flags (quote not-scanned)) nil (gnus-group-set-paramete= r info (quote permanent-flags) (if ... t nil))) * (unless (eq permanent-flags (quote not-scanned)) (gnus-group-set-paramete= r 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) hig= hestmodseq) (nnimap-store-info info (gnus-active group))) * (cond ((and ... ...) (let ... ...)) ((let ... ...) (gnus-group-remove-par= ameter 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 perman= ent-flags uidvalidity vanished highestmodseq) marks (cond (... ...) (... ..= . ...) (t ...))) * nnimap-update-info(("nnimap+exchange:INBOX" 2 ((1 . 583722)) ((seen 58119= 5 ... 581205 581211 581216 581226 581229 581232 581236 581241 581247 581252= 581255 581258 581262 ... 581272 ... 581283 581293 581297 581302 581306 581= 315 581319 581323 ... 581334 581346 581354 581359 581365 ... 581376 581380 = 581383 581387 581391 581396 ... 581406 581409 581414 581417 581423 581427 5= 81431 581435 581439 ... ...)) "nnimap:exchange" ((permanent-flags) (modseq)= (uidvalidity . "1899") (active 581195 . 583739) (imap-status . "574561 574= 023 574560"))) ((581195 581201 581202 581205 581211 581216 581226 581229 58= 1232 581236 581241 581247 581252 581255 581258 581262 581266 581267 581272 = 581277 581278 581283 581293 581297 581302 581306 581315 581319 581323 58132= 8 581329 581334 581346 581354 581359 581365 581370 581371 581376 581380 581= 383 581387 581391 581396 581399 581400 581406 581409 581414 581417 581423 .= ..) ((%Answered 581504) (%Seen 581195 581201 581202 581205 581211 581216 58= 1226 581229 581232 581236 581241 581247 581252 581255 581258 581262 581266 = 581267 581272 581277 581278 581283 581293 581297 581302 581306 581315 58131= 9 581323 581328 581329 581334 581346 581354 581359 581365 581370 581371 581= 376 581380 581383 581387 581391 581396 581399 581400 581406 581409 581414 5= 81417 ...) (%Recent 583762)) 583762 581195 583763 1 (%Seen %Answered %Flagg= ed %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 mark= s))) (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 (set= q info ...) (let* ... ...) (setq --dolist-temp--59957 ...)) nil) (catch (quote --cl-block-nil--) (let (... info) (while --dolist-temp--599= 57 ... ... ...) 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 58126= 6 581267 581272 581277 581278 581283 581293 581297 581302 581306 581315 581= 319 581323 581328 581329 581334 581346 581354 581359 581365 581370 581371 5= 81376 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 ma= rks) (nnimap-update-infos marks ...)) (goto-char (point-max)) (let (...) (s= etq 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 (... ...) (nnima= p-wait-for-response flag-sequence) (setq marks ...) (when ... ...) (goto-ch= ar ...) (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 n= ntp-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 58= 1236 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 5814= 14 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-newsr= c-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-mai= l-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) --=20 Dave Goldberg david.goldberg6@verizon.net