From: Adam Sjøgren Date: Sun, 6 Sep 2015 12:59:30 +0000 (+0000) Subject: mail-source.el: Make the imap mail-source's :mailbox handle a list X-Git-Tag: emacs-25.0.90~1225^2~13 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1770b2b10bd0cfd04851ca454f9be1d1164b103a;p=emacs.git mail-source.el: Make the imap mail-source's :mailbox handle a list * lisp/gnus/mail-source.el (mail-source-fetch-imap): Allow :mailbox to be a list. --- diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el index ad135d4c2ed..cf18fbea17d 100644 --- a/lisp/gnus/mail-source.el +++ b/lisp/gnus/mail-source.el @@ -1090,10 +1090,13 @@ This only works when `display-time' is enabled." (if (and (imap-open server port stream authentication buf) (imap-authenticate user (or (cdr (assoc from mail-source-password-cache)) - password) buf) - (imap-mailbox-select mailbox nil buf)) + password) buf)) + (let ((mailbox-list (if (listp mailbox) mailbox (list mailbox)))) + (dolist (mailbox mailbox-list) + (when (imap-mailbox-select mailbox nil buf) (let ((coding-system-for-write mail-source-imap-file-coding-system) str) + (message "Fetching from %s..." mailbox) (with-temp-file mail-source-crash-box ;; Avoid converting 8-bit chars from inserted strings to ;; multibyte. @@ -1128,8 +1131,8 @@ This only works when `display-time' is enabled." fetchflag nil buf)) (if dontexpunge (imap-mailbox-unselect buf) - (imap-mailbox-close nil buf)) - (imap-close buf)) + (imap-mailbox-close nil buf))))) + (imap-close buf)) (imap-close buf) ;; We nix out the password in case the error ;; was because of a wrong password being given.