(defsubst wl-expire-message-p (folder number)
"Return non-nil when a message in the FOLDER with NUMBER can be expired."
(cond ((consp wl-summary-expire-reserve-marks)
- (let ((mark (elmo-message-mark folder number)))
+ (let ((mark (wl-summary-message-mark folder number)))
(not (or (member mark wl-summary-expire-reserve-marks)
(and wl-summary-buffer-disp-msg
(eq number wl-summary-buffer-current-msg))))))
((eq wl-summary-expire-reserve-marks 'all)
- (not (or (elmo-message-mark folder number)
+ (not (or (wl-summary-message-mark folder number)
(and wl-summary-buffer-disp-msg
(eq number wl-summary-buffer-current-msg)))))
((eq wl-summary-expire-reserve-marks 'none)
(format "Expiring (delete) %s msgs..."
(length delete-list))))
(message "%s" mess)
- (if (elmo-folder-delete-messages folder delete-list)
+ (if (elmo-folder-move-messages folder delete-list 'null)
(progn
- (elmo-folder-detach-messages folder delete-list)
(wl-expire-append-log
(elmo-folder-name-internal folder)
delete-list nil 'delete)
(if (elmo-folder-move-messages folder
refile-list
dst-folder
- nil ; XXX
- t
copy
- preserve-number
- wl-expire-add-seen-list)
+ preserve-number)
(progn
(wl-expire-append-log
(elmo-folder-name-internal folder)
(error "%s: create folder failed" (elmo-folder-name-internal
dst-folder)))
(while (setq msg (wl-pop msglist))
- (unless (wl-expire-message-p msg folder)
+ (unless (wl-expire-message-p folder msg)
(setq msg-id (elmo-message-field folder msg 'message-id))
(if (assoc msg-id wl-expired-alist)
;; reserve mark message already refiled or expired
(elmo-folder-move-messages folder
refile-list
dst-folder
- nil ;
- t
copy-reserve-message
- preserve-number
- wl-expire-add-seen-list))
+ preserve-number))
(error "Expire: move msgs to %s failed"
(elmo-folder-name-internal dst-folder)))
(wl-expire-append-log (elmo-folder-name-internal folder)
(wl-expire-delete-reserved-messages refile-list folder))
(when refile-list
(if (setq ret-val
- (elmo-folder-delete-messages folder refile-list))
+ (elmo-folder-move-messages folder refile-list 'null))
(progn
- (elmo-folder-detach-messages folder refile-list)
(wl-expire-append-log
(elmo-folder-name-internal folder)
refile-list nil 'delete))))))
(wl-summary-delete-messages-on-buffer delete-list deleting-info)
(wl-summary-folder-info-update)
(wl-summary-set-message-modified)
- (wl-summary-set-mark-modified)
(sit-for 0)
(set-buffer-modified-p nil))
(wl-expired-alist-save))
(defun wl-folder-expire-current-entity ()
(interactive)
- (let ((entity-name
- (or (wl-folder-get-folder-name-by-id
- (get-text-property (point) 'wl-folder-entity-id))
- (wl-folder-get-entity-from-buffer))))
+ (let ((entity-name (wl-folder-get-entity-from-buffer))
+ (type (if (wl-folder-buffer-group-p)
+ 'group
+ 'folder)))
(when (and entity-name
(or (not (interactive-p))
(y-or-n-p (format "Expire %s? " entity-name))))
(wl-folder-expire-entity
(wl-folder-search-entity-by-name entity-name
- wl-folder-entity))
+ wl-folder-entity
+ type))
(if (get-buffer wl-summary-buffer-name)
(kill-buffer wl-summary-buffer-name))
(message "Expiring %s is done" entity-name))))
(defun wl-folder-archive-current-entity ()
(interactive)
- (let ((entity-name
- (or (wl-folder-get-folder-name-by-id
- (get-text-property (point) 'wl-folder-entity-id))
- (wl-folder-get-entity-from-buffer))))
+ (let ((entity-name (wl-folder-get-entity-from-buffer))
+ (type (if (wl-folder-buffer-group-p)
+ 'group
+ 'folder)))
(when (and entity-name
(or (not (interactive-p))
(y-or-n-p (format "Archive %s? " entity-name))))
(wl-folder-archive-entity
(wl-folder-search-entity-by-name entity-name
- wl-folder-entity))
+ wl-folder-entity
+ type))
(message "Archiving %s is done" entity-name))))
(defun wl-archive-number1 (folder archive-list &optional dst-folder-arg)