#3942: mutt with hanging on large Exchange "Deleted Messages" folder -----------------------+--------------------- Reporter: wyardley | Owner: brendan Type: defect | Status: new Priority: major | Milestone: Component: IMAP | Version: 1.8.2 Resolution: | Keywords: -----------------------+---------------------
Comment (by Kevin McCarthy <kevin@…>): In [changeset:"27bb55faa0241a3b011a29306ace0b23ac04df87" 7047:27bb55faa024]: {{{ #!CommitTicketReference repository="" revision="27bb55faa0241a3b011a29306ace0b23ac04df87" Move the IMAP msn field to IMAP_HEADER_DATA. (see #3942) Ticket 3942 revealed that it is possible for a FETCH to have gaps in the MSN numbers of the results. The code makes many assumptions that equate context index counts and MSN. This is the first in a series of commits fixing that assumption. The header->index field is supposed to hold the SORT_ORDER index number of the message. If there are gaps in the MSN, than the highext MSN can in fact be out of the range 0..ctx->msgcount-1. After studying the code, I believe curs_main.c would actually work with header->index values out of the range, at least for IMAP. But some other parts of the code, such as mutt_reopen_mailbox(), do rely on the values being a valid index to ctx->hdrs[]. And the intertwining of menu->oldcurrent with header->index values makes me nervous about future changes. So, to be safe, move the MSN to its own field in IMAP_HEADER_DATA. The next commit will fix the EXPUNGE behavior. }}} -- Ticket URL: <https://dev.mutt.org/trac/ticket/3942#comment:3> Mutt <http://www.mutt.org/> The Mutt mail user agent