summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew G Cohen <cohen@andy.bu.edu>2022-03-20 13:49:37 +0800
committerAndrew G Cohen <cohen@andy.bu.edu>2022-03-21 07:56:34 +0800
commit01336a2582269040a05bca4376285b1b1c8e3449 (patch)
treeeee9f470891f35f07d8beadb5321c8ac4c689e27
parent6b923a5ebc6b2183fd2d7be54e1804bb088d59ed (diff)
downloademacs-01336a2582269040a05bca4376285b1b1c8e3449.tar.gz
emacs-01336a2582269040a05bca4376285b1b1c8e3449.tar.bz2
emacs-01336a2582269040a05bca4376285b1b1c8e3449.zip
Fix imap fetching multiple mailboxes (bug#54158)
* lisp/gnus/mail-source.el (mail-source-fetch-imap): Variables mailbox-source-string and remove should be reset for each mailbox.
-rw-r--r--lisp/gnus/mail-source.el10
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el
index 04de70bf0f1..320bc9c3b0e 100644
--- a/lisp/gnus/mail-source.el
+++ b/lisp/gnus/mail-source.el
@@ -1065,9 +1065,7 @@ This only works when `display-time' is enabled."
(let ((from (format "%s:%s:%s" server user port))
(found 0)
(buf (generate-new-buffer " *imap source*"))
- (mail-source-string (format "imap:%s:%s" server mailbox))
- (imap-shell-program (or (list program) imap-shell-program))
- remove)
+ (imap-shell-program (or (list program) imap-shell-program)))
(if (and (imap-open server port stream authentication buf)
(imap-authenticate
user (or (cdr (assoc from mail-source-password-cache))
@@ -1076,8 +1074,10 @@ This only works when `display-time' is enabled."
(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)
+ (let ((coding-system-for-write
+ mail-source-imap-file-coding-system)
+ (mail-source-string (format "imap:%s:%s" server mailbox))
+ str remove)
(message "Fetching from %s..." mailbox)
(with-temp-file mail-source-crash-box
;; Avoid converting 8-bit chars from inserted strings to