- (elmo-folder-move-messages src (elmo-folder-list-messages src) dst))
- ;; Don't save msgdb here.
- ;; Because summary view of original folder is not updated yet.
- (elmo-folder-close-internal src)
- (run-hooks 'elmo-pipe-drained-hook))
+ (setq msgs (elmo-pipe-folder-list-target-messages src ignore-list)
+ len (length msgs))
+ (when (> len elmo-display-progress-threshold)
+ (elmo-progress-set 'elmo-folder-move-messages
+ len
+ (if copy
+ "Copying messages..."
+ "Moving messages...")))
+ (unwind-protect
+ (elmo-folder-move-messages src msgs dst
+ nil nil copy)
+ (elmo-progress-clear 'elmo-folder-move-messages))
+ (when (and copy msgs)
+ (setq ignore-list (elmo-number-set-append-list ignore-list
+ msgs)))
+ ;; Don't save msgdb here.
+ ;; Because summary view of original folder is not updated yet.
+ (elmo-folder-close-internal src)
+ (run-hooks 'elmo-pipe-drained-hook)
+ ignore-list))
+
+(defun elmo-pipe-folder-copied-list-load (folder)
+ (elmo-object-load
+ (expand-file-name elmo-pipe-folder-copied-filename
+ (expand-file-name
+ (elmo-replace-string-as-filename
+ (elmo-folder-name-internal folder))
+ (expand-file-name "pipe" elmo-msgdb-directory)))
+ nil t))
+
+(defun elmo-pipe-folder-copied-list-save (folder copied-list)
+ (elmo-object-save
+ (expand-file-name elmo-pipe-folder-copied-filename
+ (expand-file-name
+ (elmo-replace-string-as-filename
+ (elmo-folder-name-internal folder))
+ (expand-file-name "pipe" elmo-msgdb-directory)))
+ copied-list))