マーク処理メモ (elmo-mark 枝) by teranisi * wl-summary-*-mark => elmo-msgdb-*-mark に変数名を変更。 * elmo-folder-list-messages に引数 in-msgdb を追加。 * answered マークの追加 answered-uncached なら A answered-cached なら & unread-uncached なら U unread-cached なら ! new なら N read-uncached なら u read-cached なら ' ' * filter, search の検索条件 mark:unread mark:important mark:answered mark:any という条件をかけるようにする。 /mark:any/ がいわゆる 'news letter' モード。 * msgdb のマーク処理 フィルタフォルダ, マルチフォルダでは、オリジナルの msgdb も読み書きする。 msgdb とサマリビューは open 時に sync する。 elmo-folder-check でオリジナルフォルダの msgdb を sync する。 (elmo-folder-search-requires-msgdb-p folder condition) を設け、filter フォルダで t なら original msgdb を利用する。 nil なら original は利用しない。 msgdb への操作はなるべく抽象化すること。 get-number-alist なども generic method にする。 * global mark の管理 elmo-marked-message-folder を作り、そこに置くようにする。 マークを付けると、elmo-marked-message-folder に加える。 マークを消すと、elmo-marked-message-folder から消える。 elmo-marked-message-folder から消すと、元 message のマークが消える。 元 message がなかったら、消えるだけ。 元 message の情報 (folder, number, message-id あたり) を保存しておく。 元 message が消えても、elmo-marked-message-folder には残る。 元 message が移動しても、elmo-marked-message-folder には残る。 update したときに、elmo-marked-message-folder にあればマークを付ける。