X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=elmo%2Felmo-imap4.el;h=f0d1f7a5d6b5f9666a33632785ed9e648f922bad;hb=9ddac14c0b5daa5f6226bb422c36d16b2ccac5e9;hp=8affc0b5c1aa15c659407442f17465b66d2a88e4;hpb=0df7fd7001c4416173822d5ec0871e78e9484c79;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-imap4.el b/elmo/elmo-imap4.el index 8affc0b..f0d1f7a 100644 --- a/elmo/elmo-imap4.el +++ b/elmo/elmo-imap4.el @@ -227,6 +227,10 @@ Debug information is inserted in the buffer \"*IMAP4 DEBUG*\"") "Returns non-nil if RESPONSE is an 'BYE' response." (` (assq 'bye (, response)))) +(defmacro elmo-imap4-response-garbage-p (response) + "Returns non-nil if RESPONSE is an 'garbage' response." + (` (assq 'garbage (, response)))) + (defmacro elmo-imap4-response-value (response symbol) "Get value of the SYMBOL from RESPONSE." (` (nth 1 (assq (, symbol) (, response))))) @@ -241,7 +245,7 @@ Debug information is inserted in the buffer \"*IMAP4 DEBUG*\"") matched)) (defmacro elmo-imap4-response-error-text (response) - "Returns text of NO, BAD, BYE response." + "Returns text of NO, BAD, BYE, response." (` (nth 1 (or (elmo-imap4-response-value (, response) 'no) (elmo-imap4-response-value (, response) 'bad) (elmo-imap4-response-value (, response) 'bye))))) @@ -347,7 +351,14 @@ TAG is the tag of the command" (with-current-buffer (process-buffer (elmo-network-session-process-internal session)) (while (not (or (string= tag elmo-imap4-reached-tag) - (elmo-imap4-response-bye-p elmo-imap4-current-response))) + (elmo-imap4-response-bye-p elmo-imap4-current-response) + (when (elmo-imap4-response-garbage-p + elmo-imap4-current-response) + (message "Garbage response: %s" + (elmo-imap4-response-value + elmo-imap4-current-response + 'garbage)) + t))) (when (memq (process-status (elmo-network-session-process-internal session)) '(open run)) @@ -1859,15 +1870,16 @@ Return nil if no complete line has arrived." (let* ((root (elmo-imap4-folder-mailbox-internal folder)) (session (elmo-imap4-get-session folder)) (prefix (elmo-folder-prefix-internal folder)) - (delim (or - (cdr + (namespace-assoc (elmo-string-matched-assoc root (with-current-buffer (elmo-network-session-buffer session) elmo-imap4-server-namespace))) + (delim (or (cdr namespace-assoc) elmo-imap4-default-hierarchy-delimiter)) ;; Append delimiter when root with namespace. - (root (if (and (match-end 1) + (root (if (and namespace-assoc + (match-end 1) (string= (substring root (match-end 1)) "")) (concat root delim) @@ -2533,7 +2545,7 @@ If optional argument REMOVE is non-nil, remove FLAG." (unless elmo-inhibit-display-retrieval-progress (elmo-display-progress 'elmo-imap4-display-literal-progress "Retrieving..." 100) ; remove progress bar. - (message "Retrieving...done.")) + (message "Retrieving...done")) (if (setq response (elmo-imap4-response-bodydetail-text (elmo-imap4-response-value-all response 'fetch)))