Draft 18 is already at the Internet-drafts editor, although it doesn't
seem to be on the FTP server yet.  I've been beating my head over the
alleged ambiguities and contradictions in the definition of sequence
sets all day with considerable frustration.

Here's what I've come up with, which I propose to do in a draft 19. Not
only does this emphasize order independence in ranges, but it also gives
the example (twice) of why a client needs such a thing (and why there are
existing clients which depend upon it).

Please let me know if this on the right track, before I submit draft 19.

Change 1:
 All occurances of "message set" are renamed to "sequence set"


Change 2:
 After:
           Note: in the above example, the UID set range 443:557
           appears.  The same comment about a non-existent unique
           identifier being ignored without any error message also
           applies here.

 add the following new text:
           [...]   Hence, even if neither UID 443 or 557
           exist, this range is valid and would include an existing
           UID 495.

           Also, since the contents of a range are independent of
           the order of the range endpoints, note that a UID set
           range of 559:* always includes the UID of the last
           message in the mailbox, even if 559 is higher than any
           assigned UID value.  Thus, a UID range of 559:* always
           indicates at least one message, unless the mailbox is
           empty.


Change 3:
 Replace old grammar:

   sequence-num    = nz-number / "*"
                       ; * is the largest number in use.  For message
                       ; sequence numbers, it is the number of messages
                       ; in the mailbox.  For unique identifiers, it is
                       ; the unique identifier of the last message in
                       ; the mailbox.

   set             = sequence-num / (sequence-num ":" sequence-num) /
                     (set "," set)
                       ; Identifies a set of messages.  For message
                       ; sequence numbers, these are consecutive
                       ; numbers from 1 to the number of messages in
                       ; the mailbox
                       ; Comma delimits individual numbers, colon
                       ; delimits between two numbers inclusive.  Note
                       ; that n:m and m:n are equivalent.
                       ; Example: 2,4:7,9,12:* is 2,4,5,6,7,9,12,13,
                       ; 14,15 for a mailbox with 15 messages.

 with the following:

   seq-number      = nz-number / "*"
                       ; message sequence number (COPY, FETCH, STORE
                       ; commands) or unique identifier (UID COPY,
                       ; UID FETCH, UID STORE commands).
                       ; * is the largest number in use.  For message
                       ; sequence numbers, it is the number of messages
                       ; in the mailbox.  For unique identifiers, it is
                       ; the unique identifier of the last message in
                       ; the mailbox.

   seq-range       = seq-number ":" seq-number
                       ; two seq-number values and all values between
                       ; these two regardless of order.
                       ; Example: 2:4 and 4:2 are equivalent and indicate
                       ; values 2, 3, and 4.
                       ; Example: a unique identifer sequence range of
                       ; 3291:* includes the UID of the last message in
                       ; the mailbox, even if that value is less than 3291.

   sequence-set    = (seq-number / seq-range) / *("," sequence-set)
                       ; set of seq-number values
                       ; Example: a message sequence number set of 2,4:7,9,12:*
                       ; for a mailbox with 15 messages is equivalent to
                       ; 2,4,5,6,7,9,12,13,14,15
-- 
-----------------------------------------------------------------
 For information about this mailing list, and its archives, see: 
 http://www.washington.edu/imap/imap-list.html
-----------------------------------------------------------------

Reply via email to