* elmo-filter.el (elmo-filter-folder-list-importants): Don't treat global-mark.
* elmo.el (elmo-folder-list-importants): Ditto.
* elmo-net.el (elmo-folder-list-importants): Ditto.
* elmo-map.el (elmo-folder-list-importants): Ditto.
* elmo-msgdb.el (elmo-msgdb-mark): New inline function.
2002-09-16 Yuuichi Teranishi <teranisi@gohome.org>
+ * elmo-msgdb.el (elmo-msgdb-mark): New inline function.
+
* elmo-filter.el (elmo-folder-msgdb-create): Call target-folder's
method if msgdb is not required.
+ (elmo-filter-folder-list-importants): Don't treat global-mark.
+
+ * elmo.el (elmo-folder-list-importants): Ditto.
+
+ * elmo-net.el (elmo-folder-list-importants): Ditto.
+
+ * elmo-map.el (elmo-folder-list-importants): Ditto.
* elmo-msgdb.el (elmo-msgdb-seen-list): Use `elmo-msgdb-unread-marks'
(elmo-filter-folder-list-unreads folder))
(defsubst elmo-filter-folder-list-importants (folder)
- (elmo-uniq-list
- (nconc
- (elmo-list-filter
- (elmo-folder-list-messages folder nil 'in-msgdb)
- (elmo-folder-list-importants
- (elmo-filter-folder-target-internal folder)))
- (elmo-folder-list-messages-with-global-mark
- folder elmo-msgdb-important-mark))))
+ (elmo-list-filter
+ (elmo-folder-list-messages folder nil 'in-msgdb)
+ (elmo-folder-list-importants
+ (elmo-filter-folder-target-internal folder))))
(luna-define-method elmo-folder-list-importants ((folder elmo-filter-folder))
(elmo-filter-folder-list-importants folder))
(luna-define-method elmo-folder-list-importants ((folder elmo-map-folder))
(let ((locations (elmo-map-folder-list-importants folder)))
(if (listp locations)
- (elmo-uniq-list
- (nconc (elmo-map-folder-locations-to-numbers folder locations)
- (elmo-folder-list-messages-with-global-mark
- folder elmo-msgdb-important-mark)))
+ (elmo-map-folder-locations-to-numbers folder locations)
(luna-call-next-method))))
(luna-define-method elmo-folder-delete-messages ((folder elmo-map-folder)
(setcar (cdr entity) after))
(setq mark-alist (cdr mark-alist)))))
+(defsubst elmo-msgdb-mark (status cached)
+ (case status
+ (unread
+ (if cached
+ elmo-msgdb-unread-cached-mark
+ elmo-msgdb-unread-uncached-mark))
+ (important
+ elmo-msgdb-important-mark)
+ (answered
+ (if cached
+ elmo-msgdb-answered-cached-mark
+ elmo-msgdb-answered-uncached-mark))))
+
(defsubst elmo-msgdb-seen-save (dir obj)
(elmo-object-save
(expand-file-name elmo-msgdb-seen-filename dir)
elmo-net-folder))
(if (and (elmo-folder-plugged-p folder)
(elmo-folder-use-flag-p folder))
- (elmo-uniq-list
- (nconc
- (elmo-folder-send folder 'elmo-folder-list-importants-plugged)
- (elmo-folder-list-messages-with-global-mark
- folder elmo-msgdb-important-mark)))
+ (elmo-folder-send folder 'elmo-folder-list-importants-plugged)
(luna-call-next-method)))
(luna-define-method elmo-folder-list-answereds :around ((folder
msgs))
(luna-define-method elmo-folder-list-importants ((folder elmo-folder))
- (elmo-uniq-list
- (nconc
- (elmo-folder-list-messages-with-global-mark folder
- elmo-msgdb-important-mark)
- (elmo-folder-list-messages-mark-match folder
- (regexp-quote
- elmo-msgdb-important-mark)))))
+ (elmo-folder-list-messages-mark-match folder
+ (regexp-quote
+ elmo-msgdb-important-mark)))
(luna-define-method elmo-folder-list-answereds ((folder elmo-folder))
(delq nil
NUMBERS is a list of message numbers,
use to be test for \"last\" and \"first\" predicates.")
-(luna-define-generic elmo-folder-msgdb-create (folder numbers seen-list)
+(luna-define-generic elmo-folder-msgdb-create (folder numbers id-mark-table)
"Create a message database (implemented in each backends).
FOLDER is the ELMO folder structure.
NUMBERS is a list of message numbers to create msgdb.
-SEEN-LIST is a list of message-id string which should be treated as read.")
+ID-MARK-TABLE is a hashtable of message-id and its status mark.")
(luna-define-generic elmo-folder-unmark-important (folder numbers)
"Un-mark messages as important.
2002-09-16 Yuuichi Teranishi <teranisi@gohome.org>
+ * wl-summary.el (wl-summary-sync-marks): Treat global-mark here.
+
* wl-version.el (wl-version): Set codename for `elmo-mark' branch.
2002-09-13 Yuuichi Teranishi <teranisi@gohome.org>
unreads-in-db (elmo-folder-list-messages-mark-match
wl-summary-buffer-elmo-folder
(wl-regexp-opt (elmo-msgdb-unread-marks)))
- importants (elmo-folder-list-importants
- wl-summary-buffer-elmo-folder)
+ importants (elmo-uniq-list
+ (nconc
+ (elmo-folder-list-importants
+ wl-summary-buffer-elmo-folder)
+ (elmo-folder-list-messages-with-global-mark
+ wl-summary-buffer-elmo-folder
+ elmo-msgdb-important-mark)))
unreads (elmo-folder-list-unreads
wl-summary-buffer-elmo-folder))
(setq diff (elmo-list-diff importants importants-in-db))