* Exchange 2007 Issues When Copying Between Folders @ 2008-03-31 14:54 Jake Colman 2008-03-31 18:50 ` Ted Zlatanov 0 siblings, 1 reply; 16+ messages in thread From: Jake Colman @ 2008-03-31 14:54 UTC (permalink / raw) To: ding; +Cc: tzz [-- Attachment #1: Type: text/plain, Size: 1141 bytes --] Ted suggested that I post here as I find more issues with using Gnus with Exchange 2007. If I move an email between IMAP folders ('B m'), I get the following messages: Registry: Registering article 6 with group nnimap+exchange-d01:INBOX/Development/gnu Registry: Registering article 7 with group nnimap+exchange-d01:INBOX/Development/gnu Moving to nnimap+exchange-d01:INBOX/Development/CVS: (6)... nnimap-request-move-article: this is an internal move The specified message set is invalid. Couldn't Move article 6: The specified message set is invalid. nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu... nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu...done The message is, in fact, copied between the 'gnu' folder and the 'CVS' folder but it is not deleted from the 'gnu' folder. I am attaching the output of the imap-debug buffer showing everything starting with pressing 'B m'. Thanks for any help anyone can provide. -- Jake Colman Director of Software Development Principia Partners LLC 101 West Elm Street Suite 620 Conshohocken, PA 19428 +1 (610) 755-9786 www.principiapartners.com [-- Attachment #2: imap.log --] [-- Type: text/plain, Size: 55526 bytes --] ====================================================================== 1 -> imap-opened: buffer=" *nnimap* exchange-d01" | 2 -> imap-send-command-wait: command="NOOP" buffer=nil | | 3 -> imap-send-command: command="NOOP" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="508 NOOP" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 508 | | 3 -> imap-wait-for-tag: tag=508 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="508 OK NOOP completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 25 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-opened: t ====================================================================== 1 -> imap-current-mailbox-p: mailbox="INBOX/Development/gnu" examine=nil buffer=nil | 2 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/gnu" examine=nil | 2 <- imap-current-mailbox-p-1: t 1 <- imap-current-mailbox-p: t ====================================================================== 1 -> imap-message-copy: articles="6" mailbox="INBOX/Development/CVS" dont-create=dontcreate no-copyuid=nil buffer=" *nnimap* exchange-d01" | 2 -> imap-send-command-wait: command="UID COPY 6 \"INBOX/Development/CVS\"" buffer=nil | | 3 -> imap-send-command: command="UID COPY 6 \"INBOX/Development/CVS\"" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="509 UID COPY 6 \"INBOX/Development/CVS\"" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 509 | | 3 -> imap-wait-for-tag: tag=509 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="509 OK COPY completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 25 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK | 2 -> imap-message-copyuid-1: mailbox="INBOX/Development/CVS" | | 3 -> imap-capability: identifier=UIDPLUS buffer=nil | | 3 <- imap-capability: nil | | 3 -> imap-mailbox-examine-1: mailbox="INBOX/Development/CVS" buffer=nil | | | 4 -> imap-mailbox-select-1: mailbox="INBOX/Development/CVS" examine=examine | | | | 5 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/CVS" examine=examine | | | | 5 <- imap-current-mailbox-p-1: nil | | | | 5 -> imap-send-command-wait: command="EXAMINE \"INBOX/Development/CVS\"" buffer=nil | | | | | 6 -> imap-send-command: command="EXAMINE \"INBOX/Development/CVS\"" buffer=nil | | | | | | 7 -> imap-send-command-1: cmdstr="510 EXAMINE \"INBOX/Development/CVS\"" | | | | | | 7 <- imap-send-command-1: nil | | | | | 6 <- imap-send-command: 510 | | | | | 6 -> imap-wait-for-tag: tag=510 buffer=nil | | | | | | 7 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 35 EXISTS * 2 RECENT * FLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent) * OK [PERMANENTFLAGS ()] Permanent flags * OK [UNSEEN 29] Is the first unseen message * OK [UIDVALIDITY 1251] UIDVALIDITY value * OK [UIDNEXT 40] The next unique identifier value 510 OK [READ-ONLY] EXAMINE completed. " | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 14 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-mailbox-put: propname=exists value=35 mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 13 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-mailbox-put: propname=recent value=2 mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 62 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-flag-list: | | | | | | | | 9 <- imap-parse-flag-list: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | | | | | | | | 9 -> imap-mailbox-put: propname=flags value=("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 43 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | | 11 -> imap-parse-flag-list: | | | | | | | | | | 11 <- imap-parse-flag-list: nil | | | | | | | | | | 11 -> imap-mailbox-put: propname=permanentflags value=nil mailbox=nil buffer=nil | | | | | | | | | | 11 <- imap-mailbox-put: t | | | | | | | | | 10 <- imap-parse-resp-text-code: t | | | | | | | | 9 <- imap-parse-resp-text: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 47 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | | 11 -> imap-mailbox-put: propname=first-unseen value=29 mailbox=nil buffer=nil | | | | | | | | | | 11 <- imap-mailbox-put: t | | | | | | | | | 10 <- imap-parse-resp-text-code: t | | | | | | | | 9 <- imap-parse-resp-text: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 44 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | | 11 -> imap-mailbox-put: propname=uidvalidity value="1251" mailbox=nil buffer=nil | | | | | | | | | | 11 <- imap-mailbox-put: t | | | | | | | | | 10 <- imap-parse-resp-text-code: t | | | | | | | | 9 <- imap-parse-resp-text: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 53 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | 10 <- imap-parse-resp-text-code: nil | | | | | | | | 9 <- imap-parse-resp-text: nil | | | | | | | 8 <- imap-parse-response: nil | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 40 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | | 11 -> imap-mailbox-put: propname=read-only value=t mailbox=nil buffer=nil | | | | | | | | | | 11 <- imap-mailbox-put: t | | | | | | | | | 10 <- imap-parse-resp-text-code: t | | | | | | | | 9 <- imap-parse-resp-text: t | | | | | | | 8 <- imap-parse-response: nil | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: nil | | | | | | 7 <- imap-arrival-filter: nil | | | | | 6 <- imap-wait-for-tag: OK | | | | 5 <- imap-send-command-wait: OK | | | 4 <- imap-mailbox-select-1: "INBOX/Development/CVS" | | 3 <- imap-mailbox-examine-1: "INBOX/Development/CVS" | | 3 -> imap-fetch: uids="*" props="UID" receive=nil nouidfetch=nil buffer=nil | | | 4 -> imap-send-command-wait: command="UID FETCH * UID" buffer=nil | | | | 5 -> imap-send-command: command="UID FETCH * UID" buffer=nil | | | | | 6 -> imap-send-command-1: cmdstr="511 UID FETCH * UID" | | | | | 6 <- imap-send-command-1: nil | | | | 5 <- imap-send-command: 511 | | | | 5 -> imap-wait-for-tag: tag=511 buffer=nil | | | | | 6 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="511 BAD The specified message set is invalid. " | | | | | | 7 -> imap-find-next-line: | | | | | | 7 <- imap-find-next-line: 48 | | | | | | 7 -> imap-parse-response: | | | | | | | 8 -> imap-parse-resp-text: | | | | | | | | 9 -> imap-parse-resp-text-code: | | | | | | | | 9 <- imap-parse-resp-text-code: nil | | | | | | | 8 <- imap-parse-resp-text: nil | | | | 5 <- imap-wait-for-tag: (511 BAD nil "The specified message set is invalid.") | | | 4 <- imap-send-command-wait: (511 BAD nil "The specified message set is invalid.") | | 3 <- imap-fetch: nil | | 3 -> imap-mailbox-select: mailbox="INBOX/Development/gnu" examine=nil buffer=nil | | | 4 -> imap-mailbox-select-1: mailbox="INBOX/Development/gnu" examine=nil | | | | 5 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/gnu" examine=nil | | | | 5 <- imap-current-mailbox-p-1: nil | | | | 5 -> imap-send-command-wait: command="SELECT \"INBOX/Development/gnu\"" buffer=nil | | | | | 6 -> imap-send-command: command="SELECT \"INBOX/Development/gnu\"" buffer=nil | | | | | | 7 -> imap-send-command-1: cmdstr="512 SELECT \"INBOX/Development/gnu\"" | | | | | | 7 <- imap-send-command-1: nil | | | | | 6 <- imap-send-command: 512 | | | | | 6 -> imap-wait-for-tag: tag=512 buffer=nil | | | | | | 7 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 7 EXISTS * 0 RECENT * FLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent) * OK [PERMANENTFLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent)] Permanent flags * OK [UNSEEN 6] Is the first unseen message * OK [UIDVALIDITY 1257] UIDVALIDITY value * OK [UIDNEXT 8] The next unique identifier value 512 OK [READ-WRITE] SELECT completed. " | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 13 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-mailbox-put: propname=exists value=7 mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 13 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-mailbox-put: propname=recent value=0 mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 62 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-flag-list: | | | | | | | | 9 <- imap-parse-flag-list: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | | | | | | | | 9 -> imap-mailbox-put: propname=flags value=("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 92 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | | 11 -> imap-parse-flag-list: | | | | | | | | | | 11 <- imap-parse-flag-list: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | | | | | | | | | | 11 -> imap-mailbox-put: propname=permanentflags value=("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") mailbox=nil buffer=nil | | | | | | | | | | 11 <- imap-mailbox-put: t | | | | | | | | | 10 <- imap-parse-resp-text-code: t | | | | | | | | 9 <- imap-parse-resp-text: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 46 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | | 11 -> imap-mailbox-put: propname=first-unseen value=6 mailbox=nil buffer=nil | | | | | | | | | | 11 <- imap-mailbox-put: t | | | | | | | | | 10 <- imap-parse-resp-text-code: t | | | | | | | | 9 <- imap-parse-resp-text: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 44 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | | 11 -> imap-mailbox-put: propname=uidvalidity value="1257" mailbox=nil buffer=nil | | | | | | | | | | 11 <- imap-mailbox-put: t | | | | | | | | | 10 <- imap-parse-resp-text-code: t | | | | | | | | 9 <- imap-parse-resp-text: t | | | | | | | 8 <- imap-parse-response: t | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 52 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | 10 <- imap-parse-resp-text-code: nil | | | | | | | | 9 <- imap-parse-resp-text: nil | | | | | | | 8 <- imap-parse-response: nil | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: 40 | | | | | | | 8 -> imap-parse-response: | | | | | | | | 9 -> imap-parse-resp-text: | | | | | | | | | 10 -> imap-parse-resp-text-code: | | | | | | | | | 10 <- imap-parse-resp-text-code: nil | | | | | | | | 9 <- imap-parse-resp-text: nil | | | | | | | 8 <- imap-parse-response: nil | | | | | | | 8 -> imap-find-next-line: | | | | | | | 8 <- imap-find-next-line: nil | | | | | | 7 <- imap-arrival-filter: nil | | | | | 6 <- imap-wait-for-tag: OK | | | | 5 <- imap-send-command-wait: OK | | | 4 <- imap-mailbox-select-1: "INBOX/Development/gnu" | | 3 <- imap-mailbox-select: "INBOX/Development/gnu" | 2 <- imap-message-copyuid-1: nil 1 <- imap-message-copy: nil ====================================================================== 1 -> imap-error-text: buffer=" *nnimap* exchange-d01" 1 <- imap-error-text: "The specified message set is invalid." ====================================================================== 1 -> imap-opened: buffer=" *nnimap* exchange-d01" | 2 -> imap-send-command-wait: command="NOOP" buffer=nil | | 3 -> imap-send-command: command="NOOP" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="513 NOOP" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 513 | | 3 -> imap-wait-for-tag: tag=513 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="513 OK NOOP completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 25 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-opened: t ====================================================================== 1 -> imap-current-mailbox-p: mailbox="INBOX/Development/gnu" examine=nil buffer=nil | 2 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/gnu" examine=nil | 2 <- imap-current-mailbox-p-1: t 1 <- imap-current-mailbox-p: t ====================================================================== 1 -> imap-message-flag-permanent-p: flag="\\Seen" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") ====================================================================== 1 -> imap-search: predicate="UNSEEN UNDELETED" buffer=nil | 2 -> imap-mailbox-put: propname=search value=dummy mailbox=nil buffer=nil | 2 <- imap-mailbox-put: t | 2 -> imap-send-command-wait: command="UID SEARCH UNSEEN UNDELETED" buffer=nil | | 3 -> imap-send-command: command="UID SEARCH UNSEEN UNDELETED" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="514 UID SEARCH UNSEEN UNDELETED" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 514 | | 3 -> imap-wait-for-tag: tag=514 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* SEARCH 6 7 514 OK SEARCH completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 15 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-mailbox-put: propname=search value=(6 7) mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 27 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-search: (6 7) ====================================================================== 1 -> imap-search: predicate="SEEN" buffer=nil | 2 -> imap-mailbox-put: propname=search value=dummy mailbox=nil buffer=nil | 2 <- imap-mailbox-put: t | 2 -> imap-send-command-wait: command="UID SEARCH SEEN" buffer=nil | | 3 -> imap-send-command: command="UID SEARCH SEEN" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="515 UID SEARCH SEEN" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 515 | | 3 -> imap-wait-for-tag: tag=515 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* SEARCH 1 2 3 4 5 515 OK SEARCH completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 21 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-mailbox-put: propname=search value=(1 2 3 4 5) mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 27 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-search: (1 2 3 4 5) ====================================================================== 1 -> imap-message-flag-permanent-p: flag="\\Flagged" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: ("\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") ====================================================================== 1 -> imap-mailbox-get: propname=flags mailbox=nil buffer=nil 1 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") ====================================================================== 1 -> imap-search: predicate="FLAGGED" buffer=nil | 2 -> imap-mailbox-put: propname=search value=dummy mailbox=nil buffer=nil | 2 <- imap-mailbox-put: t | 2 -> imap-send-command-wait: command="UID SEARCH FLAGGED" buffer=nil | | 3 -> imap-send-command: command="UID SEARCH FLAGGED" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="516 UID SEARCH FLAGGED" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 516 | | 3 -> imap-wait-for-tag: tag=516 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* SEARCH 516 OK SEARCH completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 11 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-mailbox-put: propname=search value=nil mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 27 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-search: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="\\Answered" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: ("\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") ====================================================================== 1 -> imap-mailbox-get: propname=flags mailbox=nil buffer=nil 1 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") ====================================================================== 1 -> imap-search: predicate="ANSWERED" buffer=nil | 2 -> imap-mailbox-put: propname=search value=dummy mailbox=nil buffer=nil | 2 <- imap-mailbox-put: t | 2 -> imap-send-command-wait: command="UID SEARCH ANSWERED" buffer=nil | | 3 -> imap-send-command: command="UID SEARCH ANSWERED" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="517 UID SEARCH ANSWERED" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 517 | | 3 -> imap-wait-for-tag: tag=517 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* SEARCH 517 OK SEARCH completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 11 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-mailbox-put: propname=search value=nil mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 27 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-search: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-expire" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-killed" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-bookmark" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-dormant" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-score" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-save" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-cache" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-download" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-unsend" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-forward" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-search: predicate="RECENT" buffer=nil | 2 -> imap-mailbox-put: propname=search value=dummy mailbox=nil buffer=nil | 2 <- imap-mailbox-put: t | 2 -> imap-send-command-wait: command="UID SEARCH RECENT" buffer=nil | | 3 -> imap-send-command: command="UID SEARCH RECENT" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="518 UID SEARCH RECENT" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 518 | | 3 -> imap-wait-for-tag: tag=518 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* SEARCH 518 OK SEARCH completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 11 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-mailbox-put: propname=search value=nil mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 27 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-search: nil ====================================================================== 1 -> imap-message-flag-permanent-p: flag="gnus-seen" mailbox=nil buffer=nil | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | 2 -> imap-mailbox-get: propname=permanentflags mailbox=nil buffer=nil | 2 <- imap-mailbox-get: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") 1 <- imap-message-flag-permanent-p: nil ====================================================================== 1 -> imap-current-mailbox-p: mailbox="INBOX/Development/gnu" examine=nil buffer=nil | 2 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/gnu" examine=nil | 2 <- imap-current-mailbox-p-1: t 1 <- imap-current-mailbox-p: t ====================================================================== 1 -> imap-current-mailbox: buffer=" *nnimap* exchange-d01" 1 <- imap-current-mailbox: "INBOX/Development/gnu" ====================================================================== 1 -> imap-mailbox-unselect: buffer=" *nnimap* exchange-d01" | 2 -> imap-capability: identifier=UNSELECT buffer=nil | 2 <- imap-capability: nil | 2 -> imap-send-command-wait: command="EXAMINE \"INBOX/Development/gnu\"" buffer=nil | | 3 -> imap-send-command: command="EXAMINE \"INBOX/Development/gnu\"" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="519 EXAMINE \"INBOX/Development/gnu\"" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 519 | | 3 -> imap-wait-for-tag: tag=519 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 7 EXISTS * 0 RECENT * FLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent) * OK [PERMANENTFLAGS ()] Permanent flags * OK [UNSEEN 6] Is the first unseen message * OK [UIDVALIDITY 1257] UIDVALIDITY value * OK [UIDNEXT 8] The next unique identifier value 519 OK [READ-ONLY] EXAMINE completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 13 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-mailbox-put: propname=exists value=7 mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 13 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-mailbox-put: propname=recent value=0 mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 62 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-flag-list: | | | | | 6 <- imap-parse-flag-list: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | | | | | 6 -> imap-mailbox-put: propname=flags value=("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") mailbox=nil buffer=nil | | | | | 6 <- imap-mailbox-put: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 43 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | | 8 -> imap-parse-flag-list: | | | | | | | 8 <- imap-parse-flag-list: nil | | | | | | | 8 -> imap-mailbox-put: propname=permanentflags value=nil mailbox=nil buffer=nil | | | | | | | 8 <- imap-mailbox-put: t | | | | | | 7 <- imap-parse-resp-text-code: t | | | | | 6 <- imap-parse-resp-text: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 46 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | | 8 -> imap-mailbox-put: propname=first-unseen value=6 mailbox=nil buffer=nil | | | | | | | 8 <- imap-mailbox-put: t | | | | | | 7 <- imap-parse-resp-text-code: t | | | | | 6 <- imap-parse-resp-text: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 44 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | | 8 -> imap-mailbox-put: propname=uidvalidity value="1257" mailbox=nil buffer=nil | | | | | | | 8 <- imap-mailbox-put: t | | | | | | 7 <- imap-parse-resp-text-code: t | | | | | 6 <- imap-parse-resp-text: t | | | | 5 <- imap-parse-response: t | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 52 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 40 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | | 8 -> imap-mailbox-put: propname=read-only value=t mailbox=nil buffer=nil | | | | | | | 8 <- imap-mailbox-put: t | | | | | | 7 <- imap-parse-resp-text-code: t | | | | | 6 <- imap-parse-resp-text: t | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK | 2 -> imap-send-command-wait: command="CLOSE" buffer=nil | | 3 -> imap-send-command: command="CLOSE" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="520 CLOSE" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 520 | | 3 -> imap-wait-for-tag: tag=520 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="520 OK CLOSE completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 26 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-mailbox-unselect: t ====================================================================== 1 -> imap-current-mailbox: buffer=nil 1 <- imap-current-mailbox: nil ====================================================================== 1 -> imap-mailbox-select: mailbox="INBOX/Development/gnu" examine=t buffer=nil | 2 -> imap-mailbox-select-1: mailbox="INBOX/Development/gnu" examine=t | | 3 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/gnu" examine=t | | 3 <- imap-current-mailbox-p-1: nil | | 3 -> imap-send-command-wait: command="EXAMINE \"INBOX/Development/gnu\"" buffer=nil | | | 4 -> imap-send-command: command="EXAMINE \"INBOX/Development/gnu\"" buffer=nil | | | | 5 -> imap-send-command-1: cmdstr="521 EXAMINE \"INBOX/Development/gnu\"" | | | | 5 <- imap-send-command-1: nil | | | 4 <- imap-send-command: 521 | | | 4 -> imap-wait-for-tag: tag=521 buffer=nil | | | | 5 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 7 EXISTS * 0 RECENT * FLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent) * OK [PERMANENTFLAGS ()] Permanent flags * OK [UNSEEN 6] Is the first unseen message * OK [UIDVALIDITY 1257] UIDVALIDITY value * OK [UIDNEXT 8] The next unique identifier value 521 OK [READ-ONLY] EXAMINE completed. " | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 13 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-mailbox-put: propname=exists value=7 mailbox=nil buffer=nil | | | | | | 7 <- imap-mailbox-put: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 13 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-mailbox-put: propname=recent value=0 mailbox=nil buffer=nil | | | | | | 7 <- imap-mailbox-put: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 62 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-flag-list: | | | | | | 7 <- imap-parse-flag-list: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | | | | | | 7 -> imap-mailbox-put: propname=flags value=("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") mailbox=nil buffer=nil | | | | | | 7 <- imap-mailbox-put: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 43 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | | 9 -> imap-parse-flag-list: | | | | | | | | 9 <- imap-parse-flag-list: nil | | | | | | | | 9 -> imap-mailbox-put: propname=permanentflags value=nil mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-resp-text-code: t | | | | | | 7 <- imap-parse-resp-text: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 46 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | | 9 -> imap-mailbox-put: propname=first-unseen value=6 mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-resp-text-code: t | | | | | | 7 <- imap-parse-resp-text: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 44 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | | 9 -> imap-mailbox-put: propname=uidvalidity value="1257" mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-resp-text-code: t | | | | | | 7 <- imap-parse-resp-text: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 52 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | 8 <- imap-parse-resp-text-code: nil | | | | | | 7 <- imap-parse-resp-text: nil | | | | | 6 <- imap-parse-response: nil | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 40 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | | 9 -> imap-mailbox-put: propname=read-only value=t mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-resp-text-code: t | | | | | | 7 <- imap-parse-resp-text: t | | | | | 6 <- imap-parse-response: nil | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: nil | | | | 5 <- imap-arrival-filter: nil | | | 4 <- imap-wait-for-tag: OK | | 3 <- imap-send-command-wait: OK | 2 <- imap-mailbox-select-1: "INBOX/Development/gnu" 1 <- imap-mailbox-select: "INBOX/Development/gnu" ====================================================================== 1 -> imap-mailbox-get: propname=exists mailbox=nil buffer=nil 1 <- imap-mailbox-get: 7 ====================================================================== 1 -> imap-fetch: uids="1:*" props="UID" receive=nil nouidfetch=nouidfetch buffer=nil | 2 -> imap-send-command-wait: command="FETCH 1:* UID" buffer=nil | | 3 -> imap-send-command: command="FETCH 1:* UID" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="522 FETCH 1:* UID" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 522 | | 3 -> imap-wait-for-tag: tag=522 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 1 FETCH (UID 1) " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 20 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-fetch: response=1 | | | | | | 7 -> imap-message-put: uid=1 propname=UID value=1 buffer=nil | | | | | | 7 <- imap-message-put: t | | | | | 6 <- imap-parse-fetch: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 2 FETCH (UID 2) * 3 FETCH (UID 3) * 4 FETCH (UID 4) " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 20 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-fetch: response=2 | | | | | | 7 -> imap-message-put: uid=2 propname=UID value=2 buffer=nil | | | | | | 7 <- imap-message-put: t | | | | | 6 <- imap-parse-fetch: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 20 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-fetch: response=3 | | | | | | 7 -> imap-message-put: uid=3 propname=UID value=3 buffer=nil | | | | | | 7 <- imap-message-put: t | | | | | 6 <- imap-parse-fetch: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 20 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-fetch: response=4 | | | | | | 7 -> imap-message-put: uid=4 propname=UID value=4 buffer=nil | | | | | | 7 <- imap-message-put: t | | | | | 6 <- imap-parse-fetch: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 5 FETCH (UID 5) * 6 FETCH (UID 6) * 7 FETCH (UID 7) 522 OK FETCH completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 20 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-fetch: response=5 | | | | | | 7 -> imap-message-put: uid=5 propname=UID value=5 buffer=nil | | | | | | 7 <- imap-message-put: t | | | | | 6 <- imap-parse-fetch: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 20 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-fetch: response=6 | | | | | | 7 -> imap-message-put: uid=6 propname=UID value=6 buffer=nil | | | | | | 7 <- imap-message-put: t | | | | | 6 <- imap-parse-fetch: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 20 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-fetch: response=7 | | | | | | 7 -> imap-message-put: uid=7 propname=UID value=7 buffer=nil | | | | | | 7 <- imap-message-put: t | | | | | 6 <- imap-parse-fetch: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 26 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-fetch: t ====================================================================== 1 -> imap-message-map: func=#<compiled-function (uid Uid) "...(22)" [maxuid minuid uid] 2> propname=UID buffer=nil 1 <- imap-message-map: (7 7 7 7 7 7 7) ====================================================================== 1 -> imap-mailbox-get: propname=exists mailbox=nil buffer=nil 1 <- imap-mailbox-get: 7 ====================================================================== 1 -> imap-opened: buffer=nil | 2 -> imap-send-command-wait: command="NOOP" buffer=nil | | 3 -> imap-send-command: command="NOOP" buffer=nil | | | 4 -> imap-send-command-1: cmdstr="523 NOOP" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 523 | | 3 -> imap-wait-for-tag: tag=523 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="523 OK NOOP completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 25 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK 1 <- imap-opened: t ====================================================================== 1 -> imap-current-mailbox-p: mailbox="INBOX/Development/gnu" examine=nil buffer=nil | 2 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/gnu" examine=nil | 2 <- imap-current-mailbox-p-1: nil 1 <- imap-current-mailbox-p: nil ====================================================================== 1 -> imap-mailbox-select: mailbox="INBOX/Development/gnu" examine=nil buffer=nil | 2 -> imap-mailbox-select-1: mailbox="INBOX/Development/gnu" examine=nil | | 3 -> imap-current-mailbox-p-1: mailbox="INBOX/Development/gnu" examine=nil | | 3 <- imap-current-mailbox-p-1: nil | | 3 -> imap-send-command-wait: command="SELECT \"INBOX/Development/gnu\"" buffer=nil | | | 4 -> imap-send-command: command="SELECT \"INBOX/Development/gnu\"" buffer=nil | | | | 5 -> imap-send-command-1: cmdstr="524 SELECT \"INBOX/Development/gnu\"" | | | | 5 <- imap-send-command-1: nil | | | 4 <- imap-send-command: 524 | | | 4 -> imap-wait-for-tag: tag=524 buffer=nil | | | | 5 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* 7 EXISTS * 0 RECENT * FLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent) * OK [PERMANENTFLAGS (\\Seen \\Answered \\Flagged \\Deleted \\Draft $MDNSent)] Permanent flags * OK [UNSEEN 6] Is the first unseen message * OK [UIDVALIDITY 1257] UIDVALIDITY value * OK [UIDNEXT 8] The next unique identifier value 524 OK [READ-WRITE] SELECT completed. " | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 13 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-mailbox-put: propname=exists value=7 mailbox=nil buffer=nil | | | | | | 7 <- imap-mailbox-put: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 13 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-mailbox-put: propname=recent value=0 mailbox=nil buffer=nil | | | | | | 7 <- imap-mailbox-put: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 62 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-flag-list: | | | | | | 7 <- imap-parse-flag-list: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | | | | | | 7 -> imap-mailbox-put: propname=flags value=("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") mailbox=nil buffer=nil | | | | | | 7 <- imap-mailbox-put: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 92 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | | 9 -> imap-parse-flag-list: | | | | | | | | 9 <- imap-parse-flag-list: ("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") | | | | | | | | 9 -> imap-mailbox-put: propname=permanentflags value=("\\Seen" "\\Answered" "\\Flagged" "\\Deleted" "\\Draft" "$MDNSent") mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-resp-text-code: t | | | | | | 7 <- imap-parse-resp-text: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 46 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | | 9 -> imap-mailbox-put: propname=first-unseen value=6 mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-resp-text-code: t | | | | | | 7 <- imap-parse-resp-text: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 44 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | | 9 -> imap-mailbox-put: propname=uidvalidity value="1257" mailbox=nil buffer=nil | | | | | | | | 9 <- imap-mailbox-put: t | | | | | | | 8 <- imap-parse-resp-text-code: t | | | | | | 7 <- imap-parse-resp-text: t | | | | | 6 <- imap-parse-response: t | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 52 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | 8 <- imap-parse-resp-text-code: nil | | | | | | 7 <- imap-parse-resp-text: nil | | | | | 6 <- imap-parse-response: nil | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: 40 | | | | | 6 -> imap-parse-response: | | | | | | 7 -> imap-parse-resp-text: | | | | | | | 8 -> imap-parse-resp-text-code: | | | | | | | 8 <- imap-parse-resp-text-code: nil | | | | | | 7 <- imap-parse-resp-text: nil | | | | | 6 <- imap-parse-response: nil | | | | | 6 -> imap-find-next-line: | | | | | 6 <- imap-find-next-line: nil | | | | 5 <- imap-arrival-filter: nil | | | 4 <- imap-wait-for-tag: OK | | 3 <- imap-send-command-wait: OK | 2 <- imap-mailbox-select-1: "INBOX/Development/gnu" 1 <- imap-mailbox-select: "INBOX/Development/gnu" ====================================================================== 1 -> imap-mailbox-get: propname=uidvalidity mailbox=nil buffer=nil 1 <- imap-mailbox-get: "1257" ====================================================================== 1 -> imap-mailbox-get: propname=exists mailbox="INBOX/Development/gnu" buffer=nil 1 <- imap-mailbox-get: 7 ====================================================================== 1 -> imap-mailbox-status: mailbox="INBOX/Development/gnu" items=unseen buffer=" *nnimap* exchange-d01" | 2 -> imap-send-command-wait: command=("STATUS \"" "INBOX/Development/gnu" "\" " "(UNSEEN)") buffer=nil | | 3 -> imap-send-command: command=("STATUS \"" "INBOX/Development/gnu" "\" " "(UNSEEN)") buffer=nil | | | 4 -> imap-send-command-1: cmdstr="525 STATUS \"INBOX/Development/gnu\" (UNSEEN)" | | | 4 <- imap-send-command-1: nil | | 3 <- imap-send-command: 525 | | 3 -> imap-wait-for-tag: tag=525 buffer=nil | | | 4 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="* STATUS INBOX/Development/gnu (UNSEEN 2) 525 OK STATUS completed. " | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 45 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-status: | | | | | | 7 -> imap-mailbox-put: propname=unseen value=2 mailbox="INBOX/Development/gnu" buffer=nil | | | | | | 7 <- imap-mailbox-put: t | | | | | 6 <- imap-parse-status: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: 27 | | | | 5 -> imap-parse-response: | | | | | 6 -> imap-parse-resp-text: | | | | | | 7 -> imap-parse-resp-text-code: | | | | | | 7 <- imap-parse-resp-text-code: nil | | | | | 6 <- imap-parse-resp-text: nil | | | | 5 <- imap-parse-response: nil | | | | 5 -> imap-find-next-line: | | | | 5 <- imap-find-next-line: nil | | | 4 <- imap-arrival-filter: nil | | 3 <- imap-wait-for-tag: OK | 2 <- imap-send-command-wait: OK | 2 -> imap-mailbox-get: propname=unseen mailbox="INBOX/Development/gnu" buffer=nil | 2 <- imap-mailbox-get: 2 1 <- imap-mailbox-status: 2 ====================================================================== 1 -> imap-mailbox-expunge: asynch=t buffer=nil | 2 -> imap-send-command: command="EXPUNGE" buffer=nil | | 3 -> imap-send-command-1: cmdstr="526 EXPUNGE" | | 3 <- imap-send-command-1: nil | 2 <- imap-send-command: 526 1 <- imap-mailbox-expunge: 526 ====================================================================== 1 -> imap-arrival-filter: proc=#<process "imap" pid 25358 state:run> string="526 OK EXPUNGE completed. " | 2 -> imap-find-next-line: | 2 <- imap-find-next-line: 28 | 2 -> imap-parse-response: | | 3 -> imap-parse-resp-text: | | | 4 -> imap-parse-resp-text-code: | | | 4 <- imap-parse-resp-text-code: nil | | 3 <- imap-parse-resp-text: nil | 2 <- imap-parse-response: nil | 2 -> imap-find-next-line: | 2 <- imap-find-next-line: nil 1 <- imap-arrival-filter: nil ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-03-31 14:54 Exchange 2007 Issues When Copying Between Folders Jake Colman @ 2008-03-31 18:50 ` Ted Zlatanov 2008-04-01 14:06 ` Simon Josefsson 0 siblings, 1 reply; 16+ messages in thread From: Ted Zlatanov @ 2008-03-31 18:50 UTC (permalink / raw) To: Jake Colman; +Cc: Simon Josefsson, ding, Emacs developers On Mon, 31 Mar 2008 10:54:12 -0400 Jake Colman <colman@ppllc.com> wrote: JC> Ted suggested that I post here as I find more issues with using Gnus JC> with Exchange 2007. JC> If I move an email between IMAP folders ('B m'), I get the following messages: JC> Registry: Registering article 6 with group nnimap+exchange-d01:INBOX/Development/gnu JC> Registry: Registering article 7 with group nnimap+exchange-d01:INBOX/Development/gnu JC> Moving to nnimap+exchange-d01:INBOX/Development/CVS: (6)... JC> nnimap-request-move-article: this is an internal move JC> The specified message set is invalid. JC> Couldn't Move article 6: The specified message set is invalid. JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu... JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu...done JC> The message is, in fact, copied between the 'gnu' folder and the 'CVS' JC> folder but it is not deleted from the 'gnu' folder. JC> I am attaching the output of the imap-debug buffer showing everything starting JC> with pressing 'B m'. The command that caused the problem: 511 UID FETCH * UID (copying emacs-devel regarding the maintenance issue) Simon Josefsson hasn't replied to my pings, so I think he may not be available for imap.el support. Simon, please let us know if that's not the case. I'm willing to dig further and maybe support imap.el if no one else wants it, but honestly the IMAP RFCs are unpleasant and annoy me, so I need a better explanation of the protocol. Google was not helpful. Can anyone suggest an IMAP primer I can read? I'm interested in the actual protocol, so the more concrete the examples, the better. Thanks Ted ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-03-31 18:50 ` Ted Zlatanov @ 2008-04-01 14:06 ` Simon Josefsson 2008-04-01 14:13 ` Jake Colman ` (3 more replies) 0 siblings, 4 replies; 16+ messages in thread From: Simon Josefsson @ 2008-04-01 14:06 UTC (permalink / raw) To: Ted Zlatanov; +Cc: Jake Colman, ding, Emacs developers Ted Zlatanov <tzz@lifelogs.com> writes: > On Mon, 31 Mar 2008 10:54:12 -0400 Jake Colman <colman@ppllc.com> wrote: > > JC> Ted suggested that I post here as I find more issues with using Gnus > JC> with Exchange 2007. > > JC> If I move an email between IMAP folders ('B m'), I get the following messages: > > JC> Registry: Registering article 6 with group nnimap+exchange-d01:INBOX/Development/gnu > JC> Registry: Registering article 7 with group nnimap+exchange-d01:INBOX/Development/gnu > JC> Moving to nnimap+exchange-d01:INBOX/Development/CVS: (6)... > JC> nnimap-request-move-article: this is an internal move > JC> The specified message set is invalid. > JC> Couldn't Move article 6: The specified message set is invalid. > JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu... > JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu...done > > JC> The message is, in fact, copied between the 'gnu' folder and the 'CVS' > JC> folder but it is not deleted from the 'gnu' folder. > > JC> I am attaching the output of the imap-debug buffer showing everything starting > JC> with pressing 'B m'. > > The command that caused the problem: > > 511 UID FETCH * UID > > (copying emacs-devel regarding the maintenance issue) > > Simon Josefsson hasn't replied to my pings, so I think he may not be > available for imap.el support. Simon, please let us know if that's not > the case. Hi! Sorry for not responding, I have been busy with other things, and I don't have much time to work on (nn)imap.el any more. I have time to review concrete patches, but little time to help debug problems with some servers. However, the recently installed patch for Gnus is definitely the wrong thing: - (imap-fetch "1,*" "UID" nil 'nouidfetch) + (imap-fetch "1:*" "UID" nil 'nouidfetch) This generates thousands and thousands of unnecessary lines of output, such as: 669 FETCH 1:* UID * 1 FETCH (UID 53159) * 2 FETCH (UID 53160) * 3 FETCH (UID 53161) ... * 103915 FETCH (UID 157074) * 103916 FETCH (UID 157075) * 103917 FETCH (UID 157076) 669 OK Completed That's about 2-3MB of output, and that was getting information for one of my folders (I subscribe to maybe 100-150 folders..). This slows down pressing 'g' on my server from sub-seconds to a very long time (I pressed C-g after half a minute). This is how the output should look like: 698 FETCH 1,* UID * 1 FETCH (UID 53159) * 103918 FETCH (UID 157077) 698 OK Completed That's 89 bytes and takes ms's to transfer. If you want this bug workaround in the code, please make it conditional on some variable that is disabled by default. I suggest documenting that this may slow down things considerably. > I'm willing to dig further and maybe support imap.el if no one else > wants it, but honestly the IMAP RFCs are unpleasant and annoy me, so I > need a better explanation of the protocol. Google was not helpful. Can > anyone suggest an IMAP primer I can read? I'm interested in the actual > protocol, so the more concrete the examples, the better. I'm not aware of any, and I would agree that the RFC is unfriendly... if you can't find any primer, just toggle imap-log and try to understand the commands send by Gnus for each operation that is needed. Read the RFC for full explanations of some things. /Simon ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:06 ` Simon Josefsson @ 2008-04-01 14:13 ` Jake Colman 2008-04-01 14:14 ` Jake Colman ` (2 subsequent siblings) 3 siblings, 0 replies; 16+ messages in thread From: Jake Colman @ 2008-04-01 14:13 UTC (permalink / raw) To: Simon Josefsson; +Cc: Ted Zlatanov, ding, Emacs developers >>>>> "SJ" == Simon Josefsson <simon@josefsson.org> writes: SJ> Ted Zlatanov <tzz@lifelogs.com> writes: >> On Mon, 31 Mar 2008 10:54:12 -0400 Jake Colman <colman@ppllc.com> wrote: >> JC> Ted suggested that I post here as I find more issues with using Gnus JC> with Exchange 2007. >> JC> If I move an email between IMAP folders ('B m'), I get the following SJ> messages: >> JC> Registry: Registering article 6 with group SJ> nnimap+exchange-d01:INBOX/Development/gnu JC> Registry: Registering article 7 with group SJ> nnimap+exchange-d01:INBOX/Development/gnu JC> Moving to nnimap+exchange-d01:INBOX/Development/CVS: (6)... JC> nnimap-request-move-article: this is an internal move JC> The specified message set is invalid. JC> Couldn't Move article 6: The specified message set is invalid. JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu... JC> nnimap: Updating info for SJ> nnimap+exchange-d01:INBOX/Development/gnu...done >> JC> The message is, in fact, copied between the 'gnu' folder and the 'CVS' JC> folder but it is not deleted from the 'gnu' folder. >> JC> I am attaching the output of the imap-debug buffer showing everything SJ> starting JC> with pressing 'B m'. >> >> The command that caused the problem: >> >> 511 UID FETCH * UID >> >> (copying emacs-devel regarding the maintenance issue) >> >> Simon Josefsson hasn't replied to my pings, so I think he may not be >> available for imap.el support. Simon, please let us know if that's not >> the case. SJ> Hi! Sorry for not responding, I have been busy with other things, and I SJ> don't have much time to work on (nn)imap.el any more. I have time to SJ> review concrete patches, but little time to help debug problems with SJ> some servers. SJ> However, the recently installed patch for Gnus is definitely the wrong SJ> thing: SJ> - (imap-fetch "1,*" "UID" nil 'nouidfetch) SJ> + (imap-fetch "1:*" "UID" nil 'nouidfetch) SJ> This generates thousands and thousands of unnecessary lines of output, SJ> such as: SJ> 669 FETCH 1:* UID SJ> * 1 FETCH (UID 53159) SJ> * 2 FETCH (UID 53160) SJ> * 3 FETCH (UID 53161) SJ> ... SJ> * 103915 FETCH (UID 157074) SJ> * 103916 FETCH (UID 157075) SJ> * 103917 FETCH (UID 157076) SJ> 669 OK Completed SJ> That's about 2-3MB of output, and that was getting information for one SJ> of my folders (I subscribe to maybe 100-150 folders..). SJ> This slows down pressing 'g' on my server from sub-seconds to a very SJ> long time (I pressed C-g after half a minute). SJ> This is how the output should look like: SJ> 698 FETCH 1,* UID SJ> * 1 FETCH (UID 53159) SJ> * 103918 FETCH (UID 157077) SJ> 698 OK Completed SJ> That's 89 bytes and takes ms's to transfer. SJ> If you want this bug workaround in the code, please make it conditional SJ> on some variable that is disabled by default. I suggest documenting SJ> that this may slow down things considerably. Simon, Can you suggest something better to fix this problem? I'm sure that I'm not the only user who will want to use Gnus with Exchange 2007. This fix, incorrect though it may be, does work. Is there something other IMAP command that will get data in the way Gnus needs to see it? ...Jake -- Jake Colman Director of Software Development Principia Partners LLC 101 West Elm Street Suite 620 Conshohocken, PA 19428 +1 (610) 755-9786 www.principiapartners.com ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:06 ` Simon Josefsson 2008-04-01 14:13 ` Jake Colman @ 2008-04-01 14:14 ` Jake Colman 2008-04-01 14:21 ` Simon Josefsson 2008-04-01 22:00 ` Gaute Strokkenes 2008-04-02 14:19 ` Ted Zlatanov 3 siblings, 1 reply; 16+ messages in thread From: Jake Colman @ 2008-04-01 14:14 UTC (permalink / raw) To: Simon Josefsson; +Cc: Ted Zlatanov, ding, Emacs developers >>>>> "SJ" == Simon Josefsson <simon@josefsson.org> writes: SJ> Ted Zlatanov <tzz@lifelogs.com> writes: >> On Mon, 31 Mar 2008 10:54:12 -0400 Jake Colman <colman@ppllc.com> wrote: >> JC> Ted suggested that I post here as I find more issues with using Gnus JC> with Exchange 2007. >> JC> If I move an email between IMAP folders ('B m'), I get the following SJ> messages: >> JC> Registry: Registering article 6 with group SJ> nnimap+exchange-d01:INBOX/Development/gnu JC> Registry: Registering article 7 with group SJ> nnimap+exchange-d01:INBOX/Development/gnu JC> Moving to nnimap+exchange-d01:INBOX/Development/CVS: (6)... JC> nnimap-request-move-article: this is an internal move JC> The specified message set is invalid. JC> Couldn't Move article 6: The specified message set is invalid. JC> nnimap: Updating info for nnimap+exchange-d01:INBOX/Development/gnu... JC> nnimap: Updating info for SJ> nnimap+exchange-d01:INBOX/Development/gnu...done >> JC> The message is, in fact, copied between the 'gnu' folder and the 'CVS' JC> folder but it is not deleted from the 'gnu' folder. >> JC> I am attaching the output of the imap-debug buffer showing everything SJ> starting JC> with pressing 'B m'. >> >> The command that caused the problem: >> >> 511 UID FETCH * UID >> >> (copying emacs-devel regarding the maintenance issue) >> >> Simon Josefsson hasn't replied to my pings, so I think he may not be >> available for imap.el support. Simon, please let us know if that's not >> the case. SJ> Hi! Sorry for not responding, I have been busy with other things, and I SJ> don't have much time to work on (nn)imap.el any more. I have time to SJ> review concrete patches, but little time to help debug problems with SJ> some servers. SJ> However, the recently installed patch for Gnus is definitely the wrong SJ> thing: SJ> - (imap-fetch "1,*" "UID" nil 'nouidfetch) SJ> + (imap-fetch "1:*" "UID" nil 'nouidfetch) SJ> This generates thousands and thousands of unnecessary lines of output, SJ> such as: SJ> 669 FETCH 1:* UID SJ> * 1 FETCH (UID 53159) SJ> * 2 FETCH (UID 53160) SJ> * 3 FETCH (UID 53161) SJ> ... SJ> * 103915 FETCH (UID 157074) SJ> * 103916 FETCH (UID 157075) SJ> * 103917 FETCH (UID 157076) SJ> 669 OK Completed SJ> That's about 2-3MB of output, and that was getting information for one SJ> of my folders (I subscribe to maybe 100-150 folders..). SJ> This slows down pressing 'g' on my server from sub-seconds to a very SJ> long time (I pressed C-g after half a minute). SJ> This is how the output should look like: SJ> 698 FETCH 1,* UID SJ> * 1 FETCH (UID 53159) SJ> * 103918 FETCH (UID 157077) SJ> 698 OK Completed SJ> That's 89 bytes and takes ms's to transfer. SJ> If you want this bug workaround in the code, please make it conditional SJ> on some variable that is disabled by default. I suggest documenting SJ> that this may slow down things considerably. Simon, Can you suggest something better to fix this problem? I'm sure that I'm not the only user who will want to use Gnus with Exchange 2007. This fix, incorrect though it may be, does work. Is there something other IMAP command that will get data in the way Gnus needs to see it? ...Jake -- Jake Colman Director of Software Development Principia Partners LLC 101 West Elm Street Suite 620 Conshohocken, PA 19428 +1 (610) 755-9786 www.principiapartners.com ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:14 ` Jake Colman @ 2008-04-01 14:21 ` Simon Josefsson 2008-04-01 14:29 ` Simon Josefsson 0 siblings, 1 reply; 16+ messages in thread From: Simon Josefsson @ 2008-04-01 14:21 UTC (permalink / raw) To: Jake Colman; +Cc: Ted Zlatanov, ding, Emacs developers Jake Colman <colman@ppllc.com> writes: > Simon, > > Can you suggest something better to fix this problem? I'm sure that I'm > not the only user who will want to use Gnus with Exchange 2007. This > fix, incorrect though it may be, does work. Is there something other > IMAP command that will get data in the way Gnus needs to see it? Does the fix work? In another post you said it didn't help. We can introduce a variable nnimap-enable-exchange-bug-workaround that toggles the way the code works. You can set that variable, if it indeed solves your problem, and others can leave it at its disabled default value. Note that using the 1:* command over the 1,* command will generate excessive traffic. (For me, checking new mail jumped from a few kb's to >10MB.) /Simon ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:21 ` Simon Josefsson @ 2008-04-01 14:29 ` Simon Josefsson 2008-04-01 14:34 ` Jake Colman 0 siblings, 1 reply; 16+ messages in thread From: Simon Josefsson @ 2008-04-01 14:29 UTC (permalink / raw) To: Jake Colman; +Cc: Ted Zlatanov, ding, Emacs developers Simon Josefsson <simon@josefsson.org> writes: > Jake Colman <colman@ppllc.com> writes: > >> Simon, >> >> Can you suggest something better to fix this problem? I'm sure that I'm >> not the only user who will want to use Gnus with Exchange 2007. This >> fix, incorrect though it may be, does work. Is there something other >> IMAP command that will get data in the way Gnus needs to see it? > > Does the fix work? In another post you said it didn't help. > > We can introduce a variable nnimap-enable-exchange-bug-workaround that > toggles the way the code works. You can set that variable, if it indeed > solves your problem, and others can leave it at its disabled default > value. Here is what I propose, if 1:* really solves the problem. Please test it, apply the patch and customize nnimap-enable-minmax-bug-workaround to a non-nil value. /Simon --- nnimap.el 01 Apr 2008 16:03:24 +0200 7.44 +++ nnimap.el 01 Apr 2008 16:27:27 +0200 @@ -219,6 +219,19 @@ ;; Performance / bug workaround variables +(defcustom nnimap-enable-minmax-bug-workaround nil + "Send UID FETCH UID commands as 1:* instead of 1,*. +Enabling this appears to be required for some servers (e.g., +Exchange) which otherwise would trigger a response 'BAD The +specified message set is invalid.'. +Note that enabling this work around may cause significant +performance penalties if you have large mailboxes. It makes the +code transfer one line of data for each message in a +mailbox (i.e., O(n)) compared to transfering only two +lines (i.e., O(1))." + :type 'boolean + :group 'nnimap) + (defcustom nnimap-close-asynchronous t "Close mailboxes asynchronously in `nnimap-close-group'. This means that errors caught by nnimap when closing the mailbox will @@ -555,7 +568,8 @@ (imap-mailbox-select group examine)) (let (minuid maxuid) (when (> (imap-mailbox-get 'exists) 0) - (imap-fetch "1,*" "UID" nil 'nouidfetch) + (imap-fetch (if nnimap-enable-minmax-bug-workaround "1:*" "1,*") + "UID" nil 'nouidfetch) (imap-message-map (lambda (uid Uid) (setq minuid (if minuid (min minuid uid) uid) maxuid (if maxuid (max maxuid uid) uid))) ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:29 ` Simon Josefsson @ 2008-04-01 14:34 ` Jake Colman 2008-04-01 14:49 ` Simon Josefsson 0 siblings, 1 reply; 16+ messages in thread From: Jake Colman @ 2008-04-01 14:34 UTC (permalink / raw) To: Simon Josefsson; +Cc: Ted Zlatanov, ding, Emacs developers >>>>> "SJ" == Simon Josefsson <simon@josefsson.org> writes: SJ> Simon Josefsson <simon@josefsson.org> writes: >> Jake Colman <colman@ppllc.com> writes: >> >>> Simon, >>> >>> Can you suggest something better to fix this problem? I'm sure that I'm >>> not the only user who will want to use Gnus with Exchange 2007. This >>> fix, incorrect though it may be, does work. Is there something other >>> IMAP command that will get data in the way Gnus needs to see it? >> >> Does the fix work? In another post you said it didn't help. >> >> We can introduce a variable nnimap-enable-exchange-bug-workaround that >> toggles the way the code works. You can set that variable, if it indeed >> solves your problem, and others can leave it at its disabled default >> value. SJ> Here is what I propose, if 1:* really solves the problem. Please test SJ> it, apply the patch and customize nnimap-enable-minmax-bug-workaround to SJ> a non-nil value. Simon, I probably thought it wasn't working because of the performance issue sue to the amount of data being transferred. Yes, the bug fix _does_ work and I _am_ able get data from my Exchange server. Unfortunately, it is quite slow and, has some other bugs with moving email betweeen folders. ...Jake -- Jake Colman Director of Software Development Principia Partners LLC 101 West Elm Street Suite 620 Conshohocken, PA 19428 +1 (610) 755-9786 www.principiapartners.com ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:34 ` Jake Colman @ 2008-04-01 14:49 ` Simon Josefsson 2008-04-02 14:22 ` Ted Zlatanov 0 siblings, 1 reply; 16+ messages in thread From: Simon Josefsson @ 2008-04-01 14:49 UTC (permalink / raw) To: Jake Colman; +Cc: Ted Zlatanov, ding, Emacs developers Jake Colman <colman@ppllc.com> writes: >>>>>> "SJ" == Simon Josefsson <simon@josefsson.org> writes: > > SJ> Simon Josefsson <simon@josefsson.org> writes: > >> Jake Colman <colman@ppllc.com> writes: > >> > >>> Simon, > >>> > >>> Can you suggest something better to fix this problem? I'm sure that I'm > >>> not the only user who will want to use Gnus with Exchange 2007. This > >>> fix, incorrect though it may be, does work. Is there something other > >>> IMAP command that will get data in the way Gnus needs to see it? > >> > >> Does the fix work? In another post you said it didn't help. > >> > >> We can introduce a variable nnimap-enable-exchange-bug-workaround that > >> toggles the way the code works. You can set that variable, if it indeed > >> solves your problem, and others can leave it at its disabled default > >> value. > > SJ> Here is what I propose, if 1:* really solves the problem. Please test > SJ> it, apply the patch and customize nnimap-enable-minmax-bug-workaround to > SJ> a non-nil value. > > Simon, > > I probably thought it wasn't working because of the performance issue > sue to the amount of data being transferred. Yes, the bug fix _does_ > work and I _am_ able get data from my Exchange server. Unfortunately, > it is quite slow and, has some other bugs with moving email betweeen > folders. Ok, I have installed my proposed patch in gnus cvs. You need to customize and enable nnimap-enable-minmax-bug-workaround to use the slow behavior. /Simon ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:49 ` Simon Josefsson @ 2008-04-02 14:22 ` Ted Zlatanov 2008-04-02 14:35 ` Simon Josefsson 0 siblings, 1 reply; 16+ messages in thread From: Ted Zlatanov @ 2008-04-02 14:22 UTC (permalink / raw) To: Simon Josefsson; +Cc: Jake Colman, ding On Tue, 01 Apr 2008 16:49:04 +0200 Simon Josefsson <simon@josefsson.org> wrote: SJ> You need to customize and enable nnimap-enable-minmax-bug-workaround SJ> to use the slow behavior. How about disabling imap-debug while that fetch is happening, if the workaround is enabled? Otherwise, the imap-debug buffer gets too big very quickly, exceeding the max buffer size. I don't think imap-log has the same problem (as quickly, anyhow) but it may be wise to curb it as well. Ted ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-02 14:22 ` Ted Zlatanov @ 2008-04-02 14:35 ` Simon Josefsson 0 siblings, 0 replies; 16+ messages in thread From: Simon Josefsson @ 2008-04-02 14:35 UTC (permalink / raw) To: Ted Zlatanov; +Cc: Jake Colman, ding Ted Zlatanov <tzz@lifelogs.com> writes: > On Tue, 01 Apr 2008 16:49:04 +0200 Simon Josefsson <simon@josefsson.org> wrote: > > SJ> You need to customize and enable nnimap-enable-minmax-bug-workaround > SJ> to use the slow behavior. > > How about disabling imap-debug while that fetch is happening, if the > workaround is enabled? Otherwise, the imap-debug buffer gets too big > very quickly, exceeding the max buffer size. I don't think imap-log has > the same problem (as quickly, anyhow) but it may be wise to curb it as > well. It seems we can avoid the excessive bandwidth usage by either using the 1,*:* approach or separating the fetch into one 1-fetch and one *-fetch. So I don't think we need to do that. /Simon ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:06 ` Simon Josefsson 2008-04-01 14:13 ` Jake Colman 2008-04-01 14:14 ` Jake Colman @ 2008-04-01 22:00 ` Gaute Strokkenes 2008-04-01 22:08 ` Simon Josefsson 2008-04-02 14:19 ` Ted Zlatanov 3 siblings, 1 reply; 16+ messages in thread From: Gaute Strokkenes @ 2008-04-01 22:00 UTC (permalink / raw) To: Simon Josefsson; +Cc: Ted Zlatanov, Jake Colman, ding, Emacs developers On 1 april 2008, simon@josefsson.org wrote: [snip] > However, the recently installed patch for Gnus is definitely the wrong > thing: > > - (imap-fetch "1,*" "UID" nil 'nouidfetch) > + (imap-fetch "1:*" "UID" nil 'nouidfetch) > > This generates thousands and thousands of unnecessary lines of output, > such as: > > 669 FETCH 1:* UID > * 1 FETCH (UID 53159) > * 2 FETCH (UID 53160) > * 3 FETCH (UID 53161) > ... > * 103915 FETCH (UID 157074) > * 103916 FETCH (UID 157075) > * 103917 FETCH (UID 157076) > 669 OK Completed > > That's about 2-3MB of output, and that was getting information for one > of my folders (I subscribe to maybe 100-150 folders..). > > This slows down pressing 'g' on my server from sub-seconds to a very > long time (I pressed C-g after half a minute). > > This is how the output should look like: > > 698 FETCH 1,* UID > * 1 FETCH (UID 53159) > * 103918 FETCH (UID 157077) > 698 OK Completed > > That's 89 bytes and takes ms's to transfer. If I understand correctly, what this command is intended to do is to retrieve the UID of the last and first messags in the mailbox. If so, would it not be possible to use a pair of FETCH commands instead? -- Gaute Strokkenes ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 22:00 ` Gaute Strokkenes @ 2008-04-01 22:08 ` Simon Josefsson 0 siblings, 0 replies; 16+ messages in thread From: Simon Josefsson @ 2008-04-01 22:08 UTC (permalink / raw) To: Ted Zlatanov; +Cc: Jake Colman, ding, Emacs developers Gaute Strokkenes <gs234@srcf.ucam.org> writes: > On 1 april 2008, simon@josefsson.org wrote: > > [snip] >> However, the recently installed patch for Gnus is definitely the wrong >> thing: >> >> - (imap-fetch "1,*" "UID" nil 'nouidfetch) >> + (imap-fetch "1:*" "UID" nil 'nouidfetch) >> >> This generates thousands and thousands of unnecessary lines of output, >> such as: >> >> 669 FETCH 1:* UID >> * 1 FETCH (UID 53159) >> * 2 FETCH (UID 53160) >> * 3 FETCH (UID 53161) >> ... >> * 103915 FETCH (UID 157074) >> * 103916 FETCH (UID 157075) >> * 103917 FETCH (UID 157076) >> 669 OK Completed >> >> That's about 2-3MB of output, and that was getting information for one >> of my folders (I subscribe to maybe 100-150 folders..). >> >> This slows down pressing 'g' on my server from sub-seconds to a very >> long time (I pressed C-g after half a minute). >> >> This is how the output should look like: >> >> 698 FETCH 1,* UID >> * 1 FETCH (UID 53159) >> * 103918 FETCH (UID 157077) >> 698 OK Completed >> >> That's 89 bytes and takes ms's to transfer. > > If I understand correctly, what this command is intended to do is to > retrieve the UID of the last and first messags in the mailbox. Yes. > If so, would it not be possible to use a pair of FETCH commands > instead? Perhaps, those with exchange servers could test this. The patch would then be. Jake, does this patch (against latest CVS) also work for you? If it works, it should definitely be faster than 1:* queries. --- nnimap.el 01 Apr 2008 16:27:27 +0200 7.45 +++ nnimap.el 02 Apr 2008 00:07:39 +0200 @@ -568,8 +568,10 @@ (imap-mailbox-select group examine)) (let (minuid maxuid) (when (> (imap-mailbox-get 'exists) 0) - (imap-fetch (if nnimap-enable-minmax-bug-workaround "1:*" "1,*") - "UID" nil 'nouidfetch) + (if (not nnimap-enable-minmax-bug-workaround) + (imap-fetch "1,*" "UID" nil 'nouidfetch) + (imap-fetch "1" "UID" nil 'nouidfetch) + (imap-fetch "*" "UID" nil 'nouidfetch)) (imap-message-map (lambda (uid Uid) (setq minuid (if minuid (min minuid uid) uid) maxuid (if maxuid (max maxuid uid) uid))) /Simon ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-01 14:06 ` Simon Josefsson ` (2 preceding siblings ...) 2008-04-01 22:00 ` Gaute Strokkenes @ 2008-04-02 14:19 ` Ted Zlatanov 2008-04-02 14:33 ` Simon Josefsson 3 siblings, 1 reply; 16+ messages in thread From: Ted Zlatanov @ 2008-04-02 14:19 UTC (permalink / raw) To: Simon Josefsson; +Cc: ding, Emacs developers On Tue, 01 Apr 2008 16:06:41 +0200 Simon Josefsson <simon@josefsson.org> wrote: SJ> Hi! Sorry for not responding, I have been busy with other things, SJ> and I don't have much time to work on (nn)imap.el any more. I have SJ> time to review concrete patches, but little time to help debug SJ> problems with some servers. Understood. > Ted Z wrote: >> I'm willing to dig further and maybe support imap.el if no one else >> wants it, but honestly the IMAP RFCs are unpleasant and annoy me, so I >> need a better explanation of the protocol. Google was not helpful. Can >> anyone suggest an IMAP primer I can read? I'm interested in the actual >> protocol, so the more concrete the examples, the better. SJ> I'm not aware of any, and I would agree that the RFC is unfriendly... SJ> if you can't find any primer, just toggle imap-log and try to understand SJ> the commands send by Gnus for each operation that is needed. Read the SJ> RFC for full explanations of some things. OK, I will try that. I can take over imap.el and nnimap.el if no one else wants to do it and Simon is OK with it, though I'm no IMAP expert. Ted ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-02 14:19 ` Ted Zlatanov @ 2008-04-02 14:33 ` Simon Josefsson 2008-04-03 13:09 ` Ted Zlatanov 0 siblings, 1 reply; 16+ messages in thread From: Simon Josefsson @ 2008-04-02 14:33 UTC (permalink / raw) To: Ted Zlatanov; +Cc: ding, Emacs developers Ted Zlatanov <tzz@lifelogs.com> writes: > On Tue, 01 Apr 2008 16:06:41 +0200 Simon Josefsson <simon@josefsson.org> wrote: > > SJ> Hi! Sorry for not responding, I have been busy with other things, > SJ> and I don't have much time to work on (nn)imap.el any more. I have > SJ> time to review concrete patches, but little time to help debug > SJ> problems with some servers. > > Understood. > >> Ted Z wrote: >>> I'm willing to dig further and maybe support imap.el if no one else >>> wants it, but honestly the IMAP RFCs are unpleasant and annoy me, so I >>> need a better explanation of the protocol. Google was not helpful. Can >>> anyone suggest an IMAP primer I can read? I'm interested in the actual >>> protocol, so the more concrete the examples, the better. > > SJ> I'm not aware of any, and I would agree that the RFC is unfriendly... > SJ> if you can't find any primer, just toggle imap-log and try to understand > SJ> the commands send by Gnus for each operation that is needed. Read the > SJ> RFC for full explanations of some things. > > OK, I will try that. I can take over imap.el and nnimap.el if no one > else wants to do it and Simon is OK with it, though I'm no IMAP expert. Perhaps we can co-maintain it, I'm still around for reviewing any patches although I usually do not have time to help debug user problems. /Simon ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Exchange 2007 Issues When Copying Between Folders 2008-04-02 14:33 ` Simon Josefsson @ 2008-04-03 13:09 ` Ted Zlatanov 0 siblings, 0 replies; 16+ messages in thread From: Ted Zlatanov @ 2008-04-03 13:09 UTC (permalink / raw) To: ding; +Cc: Emacs developers On Wed, 02 Apr 2008 16:33:54 +0200 Simon Josefsson <simon@josefsson.org> wrote: SJ> Ted Zlatanov <tzz@lifelogs.com> writes: >> OK, I will try that. I can take over imap.el and nnimap.el if no one >> else wants to do it and Simon is OK with it, though I'm no IMAP expert. SJ> Perhaps we can co-maintain it, I'm still around for reviewing any SJ> patches although I usually do not have time to help debug user problems. Sounds good. You provide the knowledge, I'll do the grunt work. Please note it (in any way you like) in the *imap.el files so users know. Ted ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2008-04-03 13:09 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-03-31 14:54 Exchange 2007 Issues When Copying Between Folders Jake Colman 2008-03-31 18:50 ` Ted Zlatanov 2008-04-01 14:06 ` Simon Josefsson 2008-04-01 14:13 ` Jake Colman 2008-04-01 14:14 ` Jake Colman 2008-04-01 14:21 ` Simon Josefsson 2008-04-01 14:29 ` Simon Josefsson 2008-04-01 14:34 ` Jake Colman 2008-04-01 14:49 ` Simon Josefsson 2008-04-02 14:22 ` Ted Zlatanov 2008-04-02 14:35 ` Simon Josefsson 2008-04-01 22:00 ` Gaute Strokkenes 2008-04-01 22:08 ` Simon Josefsson 2008-04-02 14:19 ` Ted Zlatanov 2008-04-02 14:33 ` Simon Josefsson 2008-04-03 13:09 ` Ted Zlatanov
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).