((folder elmo-maildir-folder)
src-folder numbers &optional same-number)
(if (elmo-folder-message-file-p src-folder)
- (let ((dir (elmo-maildir-folder-directory-internal folder))
+ (let ((src-msgdb-exists (not (zerop (elmo-folder-length src-folder))))
+ (dir (elmo-maildir-folder-directory-internal folder))
(table (elmo-flag-table-load (elmo-folder-msgdb-path folder)))
(succeeds numbers)
filename mark flag id)
(dolist (number numbers)
- (setq mark (elmo-message-mark src-folder (car numbers))
+ (setq mark (and src-msgdb-exists
+ (elmo-message-mark src-folder (car numbers)))
flag (cond
((null mark) 'read)
((member mark (elmo-msgdb-answered-marks))
(concat "new/" (file-name-nondirectory filename))
dir))
;; src folder's msgdb is loaded.
- (when (setq id (elmo-message-field src-folder (car numbers)
- 'message-id))
+ (when (setq id (and src-msgdb-exists
+ (elmo-message-field src-folder (car numbers)
+ 'message-id)))
(elmo-flag-table-set table id flag))
(elmo-progress-notify 'elmo-folder-move-messages))
(when (elmo-folder-persistent-p folder)
(file-directory-p (expand-file-name "cur" basedir))
(file-directory-p (expand-file-name "tmp" basedir)))))
-(luna-define-method elmo-folder-diff ((folder elmo-maildir-folder)
- &optional numbers)
+(luna-define-method elmo-folder-diff ((folder elmo-maildir-folder))
(let* ((dir (elmo-maildir-folder-directory-internal folder))
(new-len (length (car (elmo-maildir-list-location dir "new"))))
(cur-len (length (car (elmo-maildir-list-location dir "cur")))))