return-value)))
(defun elmo-pop3-process-filter (process output)
- (with-current-buffer (process-buffer process)
- (goto-char (point-max))
- (insert output)
- (elmo-pop3-debug "RECEIVED: %s\n" output)
- (if (and elmo-pop3-total-size
- (> elmo-pop3-total-size
- (min elmo-display-retrieval-progress-threshold 100)))
- (elmo-display-progress
- 'elmo-display-retrieval-progress
- (format "Retrieving (%d/%d bytes)..."
- (buffer-size)
- elmo-pop3-total-size)
- (/ (buffer-size) (/ elmo-pop3-total-size 100))))))
+ (when (buffer-live-p (process-buffer process))
+ (with-current-buffer (process-buffer process)
+ (goto-char (point-max))
+ (insert output)
+ (elmo-pop3-debug "RECEIVED: %s\n" output)
+ (if (and elmo-pop3-total-size
+ (> elmo-pop3-total-size
+ (min elmo-display-retrieval-progress-threshold 100)))
+ (elmo-display-progress
+ 'elmo-display-retrieval-progress
+ (format "Retrieving (%d/%d bytes)..."
+ (buffer-size)
+ elmo-pop3-total-size)
+ (/ (buffer-size) (/ elmo-pop3-total-size 100)))))))
(defun elmo-pop3-auth-user (session)
(let ((process (elmo-network-session-process-internal session)))
(copy-to-buffer tobuffer (point-min) (point-max)))))
(luna-define-method elmo-folder-msgdb-create ((folder elmo-pop3-folder)
- numlist seen-list)
+ numlist flag-table)
(let ((process (elmo-network-session-process-internal
(elmo-pop3-get-session folder))))
(with-current-buffer (process-buffer process)
(elmo-pop3-msgdb-create-by-header
process
numlist
- seen-list
+ flag-table
(if (elmo-pop3-folder-use-uidl-internal folder)
(elmo-pop3-folder-location-alist-internal folder)))))))
elmo-pop3-size-hash))
(defun elmo-pop3-msgdb-create-by-header (process numlist
- seen-list
+ flag-table
loc-alist)
(let ((tmp-buffer (get-buffer-create " *ELMO Overview TMP*")))
(with-current-buffer (process-buffer process)
process
(length numlist)
numlist
- seen-list loc-alist)
+ flag-table loc-alist)
(kill-buffer tmp-buffer)))))
(defun elmo-pop3-msgdb-create-message (buffer
process
num
numlist
- seen-list
+ flag-table
loc-alist)
(save-excursion
(let (beg overview number-alist mark-alist
(elmo-msgdb-overview-entity-get-number entity)
(car entity)))
(setq message-id (car entity))
- (setq seen (member message-id seen-list))
(if (setq gmark (or (elmo-msgdb-global-mark-get message-id)
- (if (elmo-file-cache-status
- (elmo-file-cache-get message-id))
- (if seen
- nil
- elmo-msgdb-unread-cached-mark)
- (if seen
- (if elmo-pop3-use-cache
- elmo-msgdb-read-uncached-mark)
- elmo-msgdb-new-mark))))
+ (elmo-msgdb-mark
+ (elmo-flag-table-get flag-table message-id)
+ (elmo-file-cache-status
+ (elmo-file-cache-get message-id))
+ 'new)))
(setq mark-alist
(elmo-msgdb-mark-append
mark-alist
(elmo-display-progress
'elmo-display-retrieval-progress
"Retrieving..." 100) ; remove progress bar.
- (message "Retrieving...done."))
+ (message "Retrieving...done"))
(set-buffer outbuf)
(goto-char (point-min))
(while (re-search-forward "^\\." nil t)