- (let* ((condition (car (elmo-parse-search-condition
- (elmo-read-search-condition
- wl-summary-pick-field-default))))
- (result (elmo-folder-search wl-summary-buffer-elmo-folder
- condition
- from-list)))
- (if delete-marks
- (let ((mlist wl-summary-buffer-target-mark-list))
- (while mlist
- (when (wl-summary-jump-to-msg (car mlist))
- (wl-summary-unmark))
- (setq mlist (cdr mlist)))
- (setq wl-summary-buffer-target-mark-list nil)))
- (if result
- (progn
- (wl-summary-target-mark-msgs result)
- (message "%d message(s) are picked." (length result)))
- (message "No message was picked."))))
+ (save-excursion
+ (let* ((condition (car (elmo-parse-search-condition
+ (elmo-read-search-condition
+ wl-summary-pick-field-default))))
+ (result (elmo-folder-search wl-summary-buffer-elmo-folder
+ condition
+ from-list))
+ num)
+ (if delete-marks
+ (let ((mlist wl-summary-buffer-target-mark-list))
+ (while mlist
+ (when (wl-summary-jump-to-msg (car mlist))
+ (wl-summary-unmark))
+ (setq mlist (cdr mlist)))
+ (setq wl-summary-buffer-target-mark-list nil)))
+ (if result
+ (setq num (wl-summary-target-mark-msgs result)))
+ (if (> num 0)
+ (if (= num (length result))
+ (message "%d message(s) are picked." num)
+ (message "%d(%d) message(s) are picked." num
+ (- (length result) num)))
+ (message "No message was picked.")))))