[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dev] Remove usage of kill fill to adjust message counter in elmo-imap4.el



Another suggestion on elmo-imap4.el.  Currently WL uses an IMAP
folder's kill file to adjust the message counter of a IMAP folder.

While a kill file is perfect for hiding messages from user's view, the
kill file of a IMAP folder cannot reliably used for adjusting
counters: The kill file contains a list of cons with message ranges
that are considered to be killed.  For an IMAP folder the range is
determined by the messages UIDs.

The problem is, that a UID range of (m . n) does not necessarily
contain n - m + 1 messages: If a message in this range is deleted,
say, by another client accessing the mailbox, the same range contains
less messages.  Even worse: It's not just about deleting killed
messages in the future, but in the past, too.

Example:

  UID of the messages in my inbox range from 2 to 8009 but there are
  not 8009-2+1 (8008) messages in mailbox, but 6377.  If I hide (kill)
  all messages but one, the kill file notes a range of (2 . 8008).
  If I check the folder in wl-folder-mode (s), I get strange results:

     [-]Desktop:2/38/104-1-5998
       %Inbox:0/18/104
       ...

  0 unread, 18 new for %Inbox is right, but I have no idea where the
  104 total messages come from -- and the number of total messages in
  the Desktop group looks weird.

So I suggest to remove the usage of the kill file to adjust messages
counters for IMAP4 folders and have started to do this in branch
`elmo-imap4-compliance'.  If this is done, the folder will always show
the "real" number of messages in an IMAP mailbox, even if some of them
are hidden.

Best,
  -- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de

Attachment: pgpZVyeYS2h62.pgp
Description: PGP signature