diff options
Diffstat (limited to 'guimb')
-rw-r--r-- | guimb/scm/sieve-core.scm | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/guimb/scm/sieve-core.scm b/guimb/scm/sieve-core.scm index 5a11c65ac..f5f335c7b 100644 --- a/guimb/scm/sieve-core.scm +++ b/guimb/scm/sieve-core.scm @@ -472,14 +472,15 @@ (if (not sieve-my-email) (set! sieve-my-email (mu-username->email))) ; (DEBUG 1 "Mailbox: " sieve-mailbox) - - (let ((count (mu-mailbox-messages-count sieve-mailbox))) - (do ((n 1 (1+ n))) - ((> n count) #f) - (set! sieve-current-message - (mu-mailbox-get-message sieve-mailbox n)) - (sieve-run-current-message thunk)) - (sieve-close-mailboxes))) + + (let msg-loop ((msg (mu-mailbox-first-message sieve-mailbox))) + (if (not (eof-object? msg)) + (begin + (set! sieve-current-message msg) + (sieve-run-current-message thunk) + (msg-loop (mu-mailbox-next-message sieve-mailbox))))) + + (sieve-close-mailboxes)) (define (sieve-command-line) (catch #t |