(defun wl-summary-target-mark-set-action (action)
(unless (eq (wl-summary-action-symbol action) 'target-mark)
+ (unless wl-summary-buffer-target-mark-list (error "no target"))
(save-excursion
(goto-char (point-min))
(let ((numlist wl-summary-buffer-number-list)
;; Refile action
(defun wl-summary-set-action-refile (number mark data)
- (let ((policy (wl-get-assoc-list-value wl-refile-policy-alist
- (wl-summary-buffer-folder-name)))
- (elem wl-summary-mark-action-list))
- (if (eq policy 'copy)
- (while elem
- (when (eq (wl-summary-action-symbol (car elem)) 'copy)
- (wl-summary-register-temp-mark number
- (wl-summary-action-mark (car elem))
- data)
- (setq elem nil))
- (setq elem (cdr elem)))
- (wl-summary-register-temp-mark number mark data)
- (setq wl-summary-buffer-prev-refile-destination data))))
+ (when (null data)
+ (error "Destination folder is empty"))
+ (wl-summary-register-temp-mark number mark data)
+ (setq wl-summary-buffer-prev-refile-destination data))
(defun wl-summary-get-refile-destination (action number)
"Decide refile destination."
(+ failures (length (cdr (car dst-msgs))))))
(setq dst-msgs (cdr dst-msgs)))
(elmo-progress-clear 'elmo-folder-move-messages)
+ (if (<= failures 0)
+ (message "Refiling messages...done"))
failures)))
;; Copy action
;; update buffer.
(wl-summary-delete-copy-marks-on-buffer (cdr (car dst-msgs)))
(setq wl-summary-buffer-temp-mark-list
- (wl-delete-associations
+ (wl-delete-associations
(cdr (car dst-msgs))
wl-summary-buffer-temp-mark-list)))
(setq failures
(+ failures (length (cdr (car dst-msgs))))))
(setq dst-msgs (cdr dst-msgs)))
(elmo-progress-clear 'elmo-folder-move-messages)
+ (if (<= failures 0)
+ (message "Copying messages...done"))
failures)))
;; Prefetch.
;; Resend.
(defun wl-summary-get-resend-address (action number)
"Decide resend address."
- (completing-read "Resend message to: " 'wl-complete-address))
+ (wl-address-read-from-minibuffer "Resend message to: "))
(defun wl-summary-exec-action-resend (mark-list)
(let ((failure 0))
(goto-char beg)
(when (looking-at "From ")
(replace-match "X-From-Line: ")))
+ (run-hooks 'wl-summary-resend-hook)
;; Send it.
(wl-draft-dispatch-message)
(kill-buffer (current-buffer)))
(let ((failures 0)
collected pair action modified)
(dolist (action wl-summary-mark-action-list)
- (setq collected (cons (cons
+ (setq collected (cons (cons
(wl-summary-action-mark action)
nil) collected)))
(dolist (mark-info wl-summary-buffer-temp-mark-list)
- (if numbers
- (when (memq (nth 0 mark-info) numbers)
- (setq pair (assoc (nth 1 mark-info) collected)))
- (setq pair (assoc (nth 1 mark-info) collected)))
- (setq pair (assoc (nth 1 mark-info) collected))
- (setcdr pair (cons mark-info (cdr pair))))
+ (setq pair
+ (when (or (null numbers)
+ (memq (nth 0 mark-info) numbers))
+ (assoc (nth 1 mark-info) collected)))
+ (if pair
+ (setcdr pair (cons mark-info (cdr pair)))))
;; collected is a pair of
;; mark-string and a list of mark-info
(dolist (pair collected)
(setq wl-message-buffer nil))
(set-buffer-modified-p nil)
(when (> failures 0)
- (format "%d execution(s) were failed" failures))))
+ (message "%d execution(s) were failed" failures))))
(defun wl-summary-exec-region (beg end)
(interactive "r")
(defun wl-summary-refile-prev-destination ()
"Refile message to previously refiled destination."
(interactive)
- (wl-summary-refile (wl-summary-message-number)
- wl-summary-buffer-prev-refile-destination)
+ (funcall (symbol-function 'wl-summary-refile)
+ (wl-summary-message-number)
+ wl-summary-buffer-prev-refile-destination)
(if (and (interactive-p)
(eq wl-summary-move-direction-downward nil))
(wl-summary-prev)
(defun wl-summary-target-mark-all ()
(interactive)
- (wl-summary-target-mark-region (point-min) (point-max))
- (setq wl-summary-buffer-target-mark-list
- (elmo-folder-list-messages wl-summary-buffer-elmo-folder
- nil 'in-msgdb)))
+ (wl-summary-target-mark-region (point-min) (point-max)))
(defun wl-summary-delete-all-mark (mark)
(goto-char (point-min))