+2004-06-21 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * wl-summary.el (wl-summary-target-mark-operation): Add optional
+ argument `inverse' and use `wl-summary-delete-all-target-marks'.
+ (wl-summary-target-mark-mark-as-important): Refine to toggle mark.
+ (wl-summary-target-mark-mark-as-answered): Likewise.
+
2004-06-22 Yoichi NAKAYAMA <yoichi@geiin.org>
* wl-summary.el (wl-summary-target-mark-forward): Use
(dolist (number wl-summary-buffer-target-mark-list)
(wl-summary-unset-mark number)))))
-(defun wl-summary-target-mark-operation (flag)
+(defun wl-summary-target-mark-operation (flag &optional inverse)
(save-excursion
- (goto-char (point-min))
(let ((inhibit-read-only t)
(buffer-read-only nil)
wl-summary-buffer-disp-msg)
(funcall
(intern (format "wl-summary-mark-as-%s-internal" flag))
- nil
+ inverse
wl-summary-buffer-target-mark-list)
- (dolist (number wl-summary-buffer-target-mark-list)
- (wl-summary-unset-mark number)))))
+ (wl-summary-delete-all-target-marks))))
(defun wl-summary-target-mark-mark-as-important ()
(interactive)
- (wl-summary-target-mark-operation 'important))
+ (wl-summary-target-mark-operation
+ 'important
+ (and (interactive-p)
+ (elmo-message-flagged-p wl-summary-buffer-elmo-folder
+ (car wl-summary-buffer-target-mark-list)
+ 'important))))
(defun wl-summary-target-mark-mark-as-answered ()
(interactive)
- (wl-summary-target-mark-operation 'answered))
+ (wl-summary-target-mark-operation
+ 'answered
+ (and (interactive-p)
+ (elmo-message-flagged-p wl-summary-buffer-elmo-folder
+ (car wl-summary-buffer-target-mark-list)
+ 'answered))))
(defun wl-summary-target-mark-set-flags ()
(interactive)