* wl-summary.el (wl-summary-detect-mark-position): Use
[elisp/wanderlust.git] / elmo / ChangeLog
index ca3d9b6..efad151 100644 (file)
@@ -1,3 +1,951 @@
+2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-entity.el: New file (again).
+
+       * modb.el (toplevel): Require modb-entity.
+       (elmo-msgdb-message-entity-handler): New method.
+
+       * modb-standard.el (modb-standard-entity-id): Use
+       elmo-message-entity-handler.
+       (modb-standard-load-entity): Ditto.
+       (elmo-msgdb-append-entity): Ditto.
+       (elmo-msgdb-create-message-entity-from-buffer): Ditto.
+
+       * modb-legacy.el (elmo-msgdb-get-decoded-cache,
+       elmo-msgdb-decoded-cache-hashtb,
+       (modb-legacy-make-message-entity,
+       elmo-msgdb-make-message-entity,
+       elmo-msgdb-create-message-entity-from-buffer,
+       elmo-msgdb-message-entity-number,
+       elmo-msgdb-message-entity-set-number,
+       elmo-msgdb-message-entity-field,
+       elmo-msgdb-message-entity-set-field,
+       elmo-msgdb-copy-message-entity,
+       elmo-msgdb-match-condition-internal,
+       elmo-msgdb-match-condition-primitive): Moved to modb-entity.el.
+
+       * elmo.el (elmo-message-copy-entity): Use elmo-message-entity-handler.
+       (elmo-message-entity-set-number): Ditto.
+       (elmo-message-entity-field): Ditto.
+       (elmo-message-entity-set-field): Ditto.
+
+       * elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Ditto.
+
+       * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
+       (elmo-nntp-msgdb-create-message): Ditto.
+
+       * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
+       (elmo-folder-msgdb-create): Add unread flag.
+
+       * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Ditto.
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1): Ditto.
+
+       * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Call
+       elmo-msgdb-messge-entity-handler.
+       * elmo-version.el (elmo-version): Up to 2.11.17.
+
+2003-09-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-shimbun.el (elmo-shimbun-update-overview): Fixed the last
+       change.
+
+2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-message-field): Use elmo-message-entity-field.
+
+       * elmo-msgdb.el (elmo-msgdb-get-number): Abolish.
+       (elmo-msgdb-get-parent-entity): Use elmo-message-entity-field.
+       (elmo-msgdb-flag-table): Ditto.
+       (elmo-msgdb-sort-by-date): Ditto.
+
+       * modb.el (elmo-msgdb-create-message-entity-from-file): Define.
+
+       * modb-standard.el (toplevel): Require mime.
+       (modb-standard-entity-id): Use elmo-msgdb-message-entity-field.
+       (modb-standard-load-entity): Use elmo-msgdb-message-entity-field and
+       elmo-msgdb-message-entity-number.
+       (elmo-msgdb-append-entity): Ditto.
+       (elmo-msgdb-create-message-entity-from-file): Remove.
+       (elmo-msgdb-create-message-entity-from-buffer): Use msgdb which 
+       corresponds to the entity.
+       (elmo-msgdb-message-entity-number): Do nothing currently.
+       (elmo-msgdb-message-entity-field): Ditto.
+       (elmo-msgdb-message-entity-set-field): Ditto.
+       (elmo-msgdb-copy-message-entity): Ditto.
+       (elmo-msgdb-match-condition-internal): Ditto.
+
+       * modb-legacy.el (elmo-msgdb-insert-file-header): Moved to
+       elmo-util.el.
+       (elmo-msgdb-create-message-entity-from-file): Remove.
+
+       * elmo-util.el (elmo-msgdb-insert-file-header): Moved from
+       modb-legacy.el.
+       (elmo-multiple-field-body): Moved from elmo-util.el.
+
+       * elmo-msgdb.el (elmo-multiple-field-body): Moved to elmo-util.el.
+
+2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb.el (elmo-msgdb-make-message-entity): Define simple one.
+       (elmo-msgdb-message-entity-field): Ditto.
+       (elmo-msgdb-message-entity-number): Ditto.
+
+2003-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (elmo-msgdb-create-message-entity-from-buffer): 
+       Fixed how to set extra field into entity.
+       (elmo-msgdb-message-entity-set-field): Fixed mistake string for
+       symbol.
+
+       * modb-legacy.el (elmo-msgdb-create-message-entity-from-buffer):
+       Fixed how to set extra field into entity.
+       (elmo-msgdb-message-entity-set-field): Fixed mistake string for
+       symbol.
+
+2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb.el (elmo-message-entity-db): New function.
+       (elmo-msgdb-make-message-entity): New API.
+       (elmo-msgdb-message-entity-number): Ditto.
+       (elmo-msgdb-message-entity-set-number): Ditto.
+       (elmo-msgdb-message-entity-field): Ditto.
+       (elmo-msgdb-message-entity-set-field): Ditto.
+       (elmo-msgdb-copy-message-entity): Ditto.
+       (elmo-msgdb-create-message-entity-from-file): Ditto.
+       (elmo-msgdb-create-message-entity-from-buffer): Ditto.
+       (elmo-msgdb-match-condition-internal): Ditto.
+
+       * modb-standard.el (modb-legacy): Require modb-legacy.
+       (modb-standard-make-message-entity): New inline function.
+       (elmo-msgdb-make-message-entity): Define.
+       (elmo-msgdb-create-message-entity-from-file): Ditto.
+       (elmo-msgdb-create-message-entity-from-buffer): Ditto.
+       (elmo-msgdb-message-entity-field): Ditto.
+       (elmo-msgdb-message-entity-set-field): Ditto.
+       (elmo-msgdb-copy-message-entity): Ditto.
+       (elmo-msgdb-match-condition-internal): Ditto.
+
+       * modb-legacy.el: Don't require modb-entity.
+       (elmo-msgdb-decoded-cache-hashtb): Moved from elmo-msgdb.el
+       (elmo-msgdb-match-condition-primitive): Ditto.
+       (elmo-msgdb-get-decoded-cache): Ditto.
+       (elmo-msgdb-overview-entity-get-id): Ditto.
+       (elmo-msgdb-overview-entity-get-number): Ditto.
+       (elmo-msgdb-overview-entity-set-number): Ditto.
+       (elmo-msgdb-overview-entity-get-references): Ditto.
+       (elmo-msgdb-overview-entity-set-references): Ditto.
+       (elmo-msgdb-overview-entity-get-from-no-decode): Ditto.
+       (elmo-msgdb-overview-entity-get-from): Ditto.
+       (elmo-msgdb-overview-entity-set-from): Ditto.
+       (elmo-msgdb-overview-entity-get-subject): Ditto.
+       (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
+       (elmo-msgdb-overview-entity-set-subject): Ditto.
+       (elmo-msgdb-overview-entity-get-date): Ditto.
+       (elmo-msgdb-overview-entity-set-date): Ditto.
+       (elmo-msgdb-overview-entity-get-to): Ditto.
+       (elmo-msgdb-overview-entity-get-cc): Ditto.
+       (elmo-msgdb-overview-entity-get-size): Ditto.
+       (elmo-msgdb-overview-entity-set-size): Ditto.
+       (elmo-msgdb-overview-entity-get-extra): Ditto.
+       (elmo-msgdb-overview-entity-set-extra): Ditto.
+       (elmo-msgdb-overview-entity-get-extra-field): Ditto.
+       (elmo-msgdb-overview-entity-set-extra-field): Ditto.
+       (elmo-msgdb-number-load): Ditto.
+       (elmo-msgdb-overview-load): Ditto.
+       (elmo-msgdb-mark-load): Ditto.
+       (elmo-msgdb-number-save): Ditto.
+       (elmo-msgdb-mark-save): Ditto.
+       (elmo-msgdb-overview-save): Ditto.
+       (modb-legacy-make-message-entity): New inline function.
+       (elmo-msgdb-insert-file-header): Ditto.
+       (elmo-msgdb-make-message-entity): Define.
+       (elmo-msgdb-create-message-entity-from-file): Ditto.
+       (elmo-msgdb-create-message-entity-from-buffer): Ditto.
+       (elmo-msgdb-message-entity-number): Ditto.
+       (elmo-msgdb-message-entity-set-number): Ditto.
+       (elmo-msgdb-message-entity-field): Ditto.
+       (elmo-msgdb-message-entity-set-field): Ditto.
+       (elmo-msgdb-copy-message-entity): Ditto.
+       (elmo-msgdb-match-condition-internal): Ditto.
+
+       * elmo.el (elmo-find-fetch-strategy): Use elmo-message-entity-field.
+       (elmo-message-copy-entity): Rewrite.
+       (elmo-message-entity-number): Ditto.
+       (elmo-message-entity-set-number): Ditto.
+       (elmo-message-entity-field): Use elmo-message-entity-db.
+       (elmo-message-entity-set-field): Ditto.
+       (elmo-message-field): Rewrite.
+
+       * elmo-util.el (elmo-msgdb-get-last-message-id): Moved from
+       elmo-msgdb.el
+       (elmo-msgdb-get-message-id-from-buffer): Ditto.
+
+       * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
+       elmo-message-entity-field.
+       (elmo-shimbun-folder-shimbun-header): Ditto.
+       (elmo-shimbun-entity-to-header): Ditto.
+       (elmo-folder-msgdb-create): Ditto.
+       (elmo-shimbun-msgdb-create-entity): Ditto;
+       Use elmo-msgdb-create-message-entity-from-buffer.
+       (elmo-shimbun-update-overview): Use elmo-message-entity-set-field.
+       (elmo-map-folder-list-message-locations): elmo-message-entity-field.
+
+       * elmo-sendlog.el (elmo-folder-msgdb-create): Use
+       elmo-msgdb-create-message-entity-from-file and 
+       elmo-message-entity-field.
+
+       * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
+       elmo-message-entity-number.
+       (elmo-pop3-msgdb-create-message): Use
+       elmo-msgdb-create-message-entity-from-buffer,
+       elmo-message-entity-set-field, elmo-message-entity-number and
+       elmo-message-entity-set-number.
+
+       * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Follow
+       the API change in elmo-msgdb-make-message-entity.
+       (elmo-nntp-msgdb-create-message): Use
+       elmo-msgdb-create-message-entity-from-buffer.
+
+       * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Use
+       elmo-message-entity-field and
+       elmo-msgdb-create-message-entity-from-file.
+
+       * elmo-msgdb.el (toplevel): Don't require modb-entity.
+       (elmo-msgdb-get-field): Abolish.
+       (elmo-msgdb-get-number): Rewrite.
+       (elmo-msgdb-sort-by-date): Use elmo-message-entity-field.
+       (elmo-msgdb-flag-table): Ditto.
+       (elmo-msgdb-get-last-message-id,
+       elmo-msgdb-number-load, elmo-msgdb-overview-load,
+       elmo-msgdb-mark-load, elmo-msgdb-number-save,
+       elmo-msgdb-mark-save, elmo-msgdb-overview-save): Moved to modb-legacy.
+       (elmo-msgdb-create-overview-from-buffer,
+       elmo-msgdb-overview-get-parent-entity): Abolish.
+
+       * elmo-mime.el (elmo-mime-display-as-is): Use
+       elmo-message-entity-field.
+
+       * elmo-map.el (elmo-folder-pack-numbers): Use
+       elmo-message-entity-set-number.
+
+       * elmo-maildir.el (elmo-folder-msgdb-create): 
+       elmo-msgdb-create-message-entity-from-file instead of
+       elmo-msgdb-create-overview-entity-from-file.
+
+       * elmo-localdir.el (elmo-localdir-msgdb-create-entity): Added argument
+       msgdb.
+       (elmo-folder-msgdb-create): Use elmo-message-entity-field.
+       (elmo-folder-pack-numbers): Use elmo-message-entity-set-number.
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Use
+       elmo-messge-entity-field and elmo-message-entity-number.
+       (elmo-imap4-fetch-callback-1): Call
+       elmo-msgdb-create-message-entity-from-buffer instead of
+       elmo-msgdb-create-overview-from-buffer. 
+       (elmo-folder-msgdb-create-plugged): Use elmo-messge-entity-field.
+       (elmo-find-fetch-strategy): Likewise.
+
+       * elmo-flag.el (elmo-folder-msgdb-create): Call 
+       elmo-localdir-msgdb-create-entity with argument msgdb.
+
+       * elmo-dop.el (elmo-dop-msgdb): Use elmo-message-entity-number
+       and elmo-message-entity-set-number.
+
+       * elmo-cache.el (elmo-folder-msgdb-create): Use
+       elmo-message-entity-field.
+       (elmo-folder-msgdb-create): Call
+       elmo-msgdb-create-message-entity-from-file instead of
+       elmo-msgdb-create-overview-entity-from-file.
+
+       * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Added
+       argument msgdb; Call elmo-msgdb-create-message-from-buffer
+       instead of elmo-msgdb-create-overview-from-buffer.
+       (elmo-archive-msgdb-create-entity): Ditto.
+       (elmo-archive-msgdb-create-as-numlist-subr1): Use
+       elmo-message-entity-field.
+       (elmo-archive-parse-mmdf): Ditto.
+
+       * modb-entity.el: Removed.
+
+       * elmo-version.el (elmo-version): Up to 2.11.16.
+
+2003-09-20  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-map.el (elmo-folder-unflag-answered): Added optional argument
+       `is-local'.
+       (elmo-folder-flag-as-answered): Ditto.
+
+2003-09-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el: New file.
+
+       * elmo.el (elmo-folder-clear): Reconstruct msgdb if
+       elmo-msgdb-convert-type is `sync'.
+
+       * elmo-vars.el (elmo-msgdb-default-type): Added `standard'.
+       (elmo-msgdb-convert-type): New user option.
+
+       * elmo-msgdb.el (elmo-msgdb-load-priorities): New internal variable.
+       (elmo-load-msgdb): Auto detect saved type.
+
+       * elmo-version.el (elmo-version): Up to 2.11.15.
+
+2003-09-19  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-flag.el (elmo-folder-list-global-flag-messages): New function.
+
+       * elmo.el (elmo-folder-delete-messages): Added notice in docstring.
+       (elmo-folder-move-messages): Call elmo-global-flag-detach-messages
+       with argument `delete-if-none' when dst-folder is 'null.
+
+       * elmo-flag.el (elmo-folder-append-messages): Defined.
+       (elmo-global-flag-detach-messages): Added argumnet `delete-if-none'.
+
+2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-flag.el (elmo-folder-initialize): Fixed ("/.minfo"->".minfo").
+
+2003-09-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-flag.el (elmo-folder-expand-msgdb-path): Define.
+       (elmo-folder-initialize): Use `elmo-folder-msgdb-path'.
+       (elmo-folder-commit): Ditto.
+
+2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-flag.el: New file.
+
+       * elmo-mark.el: Removed.
+
+       * modb-legacy.el (modb-legacy-new-mark,
+       modb-legacy-unread-uncached-mark,
+       modb-legacy-unread-cached-mark,
+       modb-legacy-read-uncached-mark,
+       modb-legacy-answered-cached-mark,
+       modb-legacy-answered-uncached-mark,
+       modb-legacy-important-mark): New constants (Moved from elmo-msgdb.el);
+       All other related portions are changed.
+
+       * elmo.el (luna-define-class): Changed mark-modified to flag-modified.
+       (elmo-folder-list-messages-with-global-mark): Abolish.
+       (elmo-folder-unflag-important): Renamed from `mark' to `flag'.
+       (elmo-folder-flag-as-important): Ditto.
+       (elmo-folder-unflag-read): Ditto.
+       (elmo-folder-flag-as-read): Ditto.
+       (elmo-folder-unflag-answered): Ditto.
+       (elmo-folder-flag-as-answered): Ditto.
+       (elmo-message-encache): Return the cache path.
+       (elmo-folder-move-messages): Call elmo-global-flag-detach-messages.
+       (elmo-message-set-flag): Transitional implementation.
+       (elmo-message-unset-flag): Ditto.
+       (elmo-folder-unflag-important): Call elmo-global-flag-detach.
+       (elmo-folder-flag-as-important): Call elmo-global-flag-set.
+       (elmo-init): Call elmo-global-flag-initialize.
+       (toplevel): Added autoload settings for elmo-flag.
+
+       * elmo-vars.el (elmo-msgdb-global-mark-filename): Abolished.
+
+       * elmo-util.el: Removed all elmo-msgdb-global-mark stuff.
+       (elmo-file-cache-delete): Don't treat global-mark.
+
+       * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-pop3.el (elmo-pop3-msgdb-create-message): Call
+       `elmo-global-flags-set'.
+
+       * elmo-pipe.el (elmo-folder-flag-as-read): Renamed from `mark' to
+       `flag'.
+       (elmo-folder-unflag-read): Ditto.
+       (elmo-folder-unflag-important): Ditto.
+       (elmo-folder-flag-as-important): Ditto.
+       (elmo-folder-unflag-answered): Ditto.
+       (elmo-folder-flag-as-answered): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Call
+       `elmo-global-flags-set'.
+       (elmo-folder-flag-as-read): Renamed from `mark' to `flag'.
+
+       * elmo-nmz.el (elmo-folder-msgdb-create): Always put `new' flag.
+
+       * elmo-net.el (elmo-folder-unflag-important): Renamed from `mark' to
+       `flag'.
+       (elmo-folder-flag-as-important): Ditto.
+       (elmo-folder-unflag-important): Ditto.
+       (elmo-folder-flag-as-important): Ditto.
+       (elmo-folder-unflag-read): Ditto.
+       (elmo-folder-flag-as-read): Ditto.
+       (elmo-folder-unflag-answered): Ditto.
+       (elmo-folder-flag-as-answered): Ditto.
+
+       * elmo-multi.el (elmo-folder-list-importants): Don't call
+       elmo-folder-list-messages-with-global-mark.
+       (elmo-folder-flag-as-important): Renamed from `mark' to `flag'.
+       (elmo-folder-unflag-important): Ditto.
+       (elmo-folder-flag-as-read): Ditto.
+       (elmo-folder-unflag-read): Ditto.
+       (elmo-folder-flag-as-answered): Ditto.
+       (elmo-folder-unflag-answered): Ditto.
+
+       * elmo-msgdb.el (elmo-msgdb-new-mark,
+       elmo-msgdb-unread-uncached-mark, elmo-msgdb-unread-cached-mark,
+       elmo-msgdb-read-uncached-mark, elmo-msgdb-answered-cached-mark,
+       elmo-msgdb-answered-uncached-mark, elmo-msgdb-important-mark): Removed
+       (Moved to modb-legacy.el).
+       (elmo-flag-table-get): Treat important flag too.
+
+       * elmo-map.el (elmo-map-folder-unflag-important): Renamed from
+       `mark' to `flag'.
+       (elmo-map-folder-flag-as-important): Ditto.
+       (elmo-map-folder-unflag-read): Ditto.
+       (elmo-map-folder-flag-as-read): Ditto.
+       (elmo-map-folder-unflag-answered): Ditto.
+       (elmo-map-folder-flag-as-answered): Ditto.
+       (elmo-folder-unflag-important): Ditto.
+       (elmo-folder-flag-as-important): Ditto.
+       (elmo-folder-unflag-read): Ditto.
+       (elmo-folder-flag-as-read): Ditto.
+       (elmo-folder-unflag-answered): Ditto.
+       (elmo-folder-flag-as-answered): Ditto.
+
+       * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
+       (elmo-map-folder-flag-as-important): Renamed from `mark' to
+       `flag'.
+       (elmo-map-folder-unflag-important): Ditto.
+       (elmo-map-folder-flag-as-read): Ditto.
+       (elmo-map-folder-unflag-read): Ditto.
+       (elmo-map-folder-flag-as-answered): Ditto.
+       (elmo-map-folder-unflag-answered): Ditto.
+
+       * elmo-localdir.el (elmo-folder-msgdb-create): Call
+       `elmo-global-flags-set'.
+       (elmo-global-flags-set): Added autoload setting.
+
+       * elmo-internal.el (elmo-internal-folder-list): Changed `mark' to
+       `flag'.
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Don't call
+       `elmo-msgdb-global-mark-set'.
+       (elmo-folder-msgdb-create-plugged): Changed callback-data structure;
+       Call `elmo-global-flags-set'.
+       (elmo-folder-unflag-important-plugged): Renamed from `mark' to
+       `flag'.
+       (elmo-folder-flag-as-important-plugged): Ditto.
+       (elmo-folder-unflag-read-plugged): Ditto.
+       (elmo-folder-flag-as-read-plugged): Ditto.
+       (elmo-folder-unflag-answered-plugged): Ditto.
+       (elmo-folder-flag-as-answered-plugged): Ditto.
+       (elmo-global-flags-set): Added autoload setting.
+
+       * elmo-filter.el (elmo-folder-flag-as-read): Renamed from `mark' to
+       `flag'.
+       (elmo-folder-unflag-read): Ditto.
+       (elmo-folder-flag-as-important): Ditto.
+       (elmo-folder-unflag-important): Ditto.
+       (elmo-folder-flag-as-answered): Ditto.
+       (elmo-folder-unflag-answered): Ditto.
+
+       * elmo-dop.el (elmo-dop-queue-merge-method-list): Follow the API
+       change of `mark'->`flag'.
+       (elmo-dop-queue-method-name-alist): Ditto.
+       (elmo-folder-flag-as-read-dop): Renamed from `mark' to `flag'.
+       (elmo-folder-unflag-read-dop): Ditto.
+       (elmo-folder-flag-as-important-dop): Ditto.
+       (elmo-folder-unflag-important-dop): Ditto.
+       (elmo-folder-flag-as-answered-dop): Ditto.
+       (elmo-folder-unflag-answered-dop): Ditto.
+
+       * elmo-cache.el (elmo-folder-msgdb-create): Call
+       `elmo-global-flags-set'.
+
+       * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
+       Call `elmo-global-flags-set'.
+       (elmo-archive-msgdb-create-as-numlist-subr2): Call
+       elmo-archive-parse-mmdf with argument `folder'.
+       (elmo-archive-parse-mmdf): Added argument `folder';
+       Call `elmo-global-flags-set'.
+
+       * elmo-version.el (elmo-version): Up to 2.11.14.
+
+2003-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb.el (elmo-msgdb-length): Define.
+
+       * elmo.el (elmo-make-folder): Fixed.
+       (elmo-generic-folder-append-messages): Follow the API change.
+
+       * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Follow the
+       API change.
+
+2003-09-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb.el: New file.
+
+       * modb-entity.el: Ditto.
+
+       * modb-legacy.el: Ditto.
+
+       * elmo-msgdb.el (elmo-make-msgdb): Added 2nd argument `type'.
+       (elmo-msgdb-get-number): Use `elmo-msgdb-message-entity' instead
+       of `elmo-msgdb-overview-get-entity'.
+       (elmo-msgdb-get-field): Ditto.
+       (elmo-msgdb-merge): Moved to `elmo.el'.
+       (elmo-msgdb-length): Removed; redefine as modb method.
+       (elmo-msgdb-change-mark): Abolish.
+       (elmo-msgdb-out-of-date-messages): Rewrite; don't use it.
+       (elmo-msgdb-match-condition): Don't use mark.
+       (elmo-msgdb-overview-get-entity): Abolish.
+       Split modb part into `modb*.el'.
+
+       * elmo-vars.el (elmo-msgdb-default-type): New user option.
+
+       * elmo-shimbun.el (shimbun-mua-search-id): Use
+       `elmo-msgdb-message-entity' instead of
+       `elmo-msgdb-overview-get-entity'.
+       (elmo-shimbun-folder-shimbun-header): Ditto.
+       (elmo-shimbun-get-headers): Ditto.
+       (elmo-shimbun-update-overview): Ditto.
+
+       * elmo-mime.el (elmo-mime-display-as-is): Ditto.
+
+       * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo.el (elmo-folder-list-messages-with-global-mark): Ditto.
+       (elmo-msgdb-merge): Moved from `elmo-msgdb.el'.
+
+       * elmo-mark.el (elmo-mark-folder-msgdb-create): Don't use
+       `elmo-msgdb-mark-to-flags'.
+
+       * elmo-map.el (elmo-folder-pack-numbers): Don't use
+       `elmo-msgdb-set-path'.
+
+       * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
+       * elmo-version.el (elmo-version): Up to 2.11.13.
+
+       * elmo.el (elmo-generic-folder-commit): Don't load msgdb.
+
+       * elmo-mark.el (elmo-mark-folder-msgdb-create): Use flag instead
+       of mark.
+
+2003-09-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed paren
+       mismatch.
+
+2003-09-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-cached-p): Use `elmo-message-flagged-p'
+       instead of `elmo-msgdb-get-cached'.
+       (elmo-message-set-cached): Don't use `elmo-msgdb-set-cached'.
+
+       * elmo-msgdb.el (elmo-msgdb-get-cached): Abolish.
+       (elmo-msgdb-set-cached): Ditto.
+       (elmo-msgdb-set-flag): Rewrite.
+       (elmo-msgdb-unset-flag): Ditto.
+
+       * elmo-msgdb.el: Rewrite with luna.
+
+       * elmo.el (elmo-folder-msgdb-load): Renamed from `elmo-msgdb-load'.
+       (elmo-folder-msgdb): Follow the change above.
+       (elmo-generic-folder-commit): Use `elmo-msgdb-save'.
+       (elmo-folder-unmark-important): Follow the API change.
+       (elmo-folder-mark-as-important): Ditto.
+       (elmo-folder-unmark-read): Ditto.
+       (elmo-folder-mark-as-read): Ditto.
+       (elmo-folder-unmark-answered): Ditto.
+       (elmo-folder-mark-as-answered): Ditto.
+       (elmo-folder-clear): Likewise.
+
+       * elmo-imap4.el (elmo-folder-open): Use `elmo-folder-msgdb-load'
+       instead of `elmo-msgdb-load' (renamed).
+
+       * elmo-version.el (elmo-version): Up to 2.11.12.
+
+2003-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-generic-folder-append-messages): Follow the API
+       change.
+       (elmo-message-mark): Abolish.
+       (elmo-folder-synchronize): Use `elmo-msgdb-out-of-date-messages'
+       instead of `elmo-msgdb-change-mark'.
+
+       * elmo-pipe.el (elmo-message-mark): Abolish.
+
+       * elmo-multi.el (elmo-message-mark): Ditto.
+
+       * elmo-msgdb.el (elmo-msgdb-new-mark): Changed to constant.
+       (elmo-msgdb-unread-uncached-mark): Ditto.
+       (elmo-msgdb-unread-cached-mark): Ditto.
+       (elmo-msgdb-read-uncached-mark): Ditto.
+       (elmo-msgdb-answered-cached-mark): Ditto.
+       (elmo-msgdb-answered-uncached-mark): Ditto.
+       (elmo-msgdb-important-mark): Ditto.
+       (elmo-msgdb-flags-to-mark): Remove arguments `cached' and
+       `use-cache'.
+       (elmo-msgdb-append-entity): Changed 3rd arg from `mark' to
+       `flags'.
+       (elmo-flag-table-load): Changed flag to list of flag.
+       (elmo-flag-table-set): If flags is nil, set read flag.
+       (elmo-flag-table-get): Return derived flags from global mark,
+       cache status and saved flags.
+       (elmo-msgdb-flag-table): Follow the change above.
+       (elmo-msgdb-out-of-date-messages): New function.
+
+       * elmo-shimbun.el (elmo-folder-msgdb-create): Follow the API change.
+
+       * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
+       (elmo-nntp-msgdb-create-message): Ditto.
+
+       * elmo-map.el (elmo-folder-pack-numbers): Ditto.
+
+       * elmo-maildir.el (elmo-maildir-list-location): Treat flags as
+       independent.
+       (elmo-folder-msgdb-create): Follow the API change.
+
+       * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
+       (elmo-folder-append-messages): Ditto.
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
+       (elmo-folder-append-buffer): Ditto.
+
+       * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
+       (elmo-archive-parse-mmdf): Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.11.11.
+
+2003-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-flags): Use `elmo-msgdb-flags' instead of
+       `elmo-msgdb-mark'.
+
+       * elmo-util.el (elmo-with-progress-display): Fixed edebug spec.
+
+       * elmo-pipe.el (elmo-message-flags): Defined.
+
+       * elmo-multi.el (elmo-message-flags): Ditto.
+
+2003-09-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-msgdb.el (elmo-msgdb-delete-messages): Renamed from
+       `elmo-msgdb-delete-msgs'.
+
+       * elmo.el (elmo-folder-count-flags): Don't use
+       `elmo-msgdb-get-mark-alist'.
+       (elmo-folder-detach-messages): Follow the API change.
+
+       * elmo.el (elmo-folder-list-messages): Append killed messages into
+       result if `visible-only' is nil.
+
+       * elmo-nntp.el (elmo-nntp-catchup-msgdb): Return a list of
+       canceled messages.
+       (elmo-nntp-folder-msgdb-create): Kill messages which already canceled.
+       (elmo-folder-update-number): Likewise.
+
+       * elmo-pop3.el (elmo-pop3-sort-overview-by-original-number): Abolish.
+       (elmo-pop3-sort-msgdb-by-original-number): Use
+       `elmo-msgdb-sort-entities'.
+
+       * elmo-msgdb.el (elmo-msgdb-sort-entities): New function.
+       (elmo-msgdb-sort-by-date): Use it.
+       (elmo-msgdb-overview-sort-by-date): Abolish.
+
+       * elmo-dop.el (elmo-folder-status-dop): Fixed.
+
+       * elmo-msgdb.el (elmo-msgdb-list-messages): Undo last change.
+       (elmo-msgdb-flags): New function.
+       (elmo-msgdb-merge): Use elmo-msgdb-append.
+
+       * elmo-localdir.el (elmo-folder-pack-numbers): Fixed the last
+       change.
+
+       * elmo-map.el (elmo-folder-pack-numbers): Ditto.
+
+       * elmo-dop.el (elmo-folder-status-dop): Use
+       elmo-folder-list-messages instead of elmo-msgdb-list-messages.
+
+2003-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-map.el (elmo-folder-pack-numbers): Rewrite.
+
+       * elmo-localdir.el (elmo-folder-pack-numbers): Fixed last change.
+
+       * elmo-msgdb.el (elmo-msgdb-append-entity): Fixed.
+
+       * elmo-util.el (elmo-with-progress-display): New macro.
+
+       * elmo-localdir.el (elmo-folder-pack-numbers): Rewrite.
+
+2003-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
+       `elmo-folder-list-message-entities' instead of
+       `elmo-msgdb-get-overview'.
+       (elmo-map-folder-list-message-locations): Ditto.
+
+       * elmo-msgdb.el (elmo-msgdb-append): Rewrite (use interface
+       methods instead of treat directly).
+       (elmo-msgdb-clear): Ditto.
+       (elmo-msgdb-delete-msgs): Ditto.
+       (elmo-msgdb-sort-by-date): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-msgdb-create-message): Removed unused
+       local variables.
+       (elmo-nntp-folder-msgdb-create): Follow the API change.
+
+       * elmo-version.el (elmo-version): Up to 2.11.10.
+
+2003-08-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-msgdb.el (elmo-msgdb-mark-to-flags): New function.
+       (elmo-msgdb-flags-to-mark): Ditto.
+       (elmo-msgdb-append-entity): Ditto.
+
+       * elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
+       Use `elmo-msgdb-append-entity' instead of construct msgdb.
+       (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
+       (elmo-archive-parse-mmdf): Ditto.
+
+       * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-filter.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-mark.el (elmo-mark-folder-msgdb-create): Ditto.
+
+       * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
+       (elmo-folder-msgdb-create-plugged): Set elmo-imap4-current-msgdb
+       to empty msgdb.
+
+       * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Use
+       `elmo-msgdb-make-message-entity' and `elmo-msgdb-append-entity'
+       instead of directly construction.
+       (elmo-nntp-msgdb-create-message): Use `elmo-msgdb-append-entity'
+       instead of construct msgdb.
+
+       * elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
+       `elmo-msgdb-set-overview' instead of reconstruct msgdb.
+       (elmo-pop3-msgdb-create-message): Use `elmo-msgdb-append-entity'
+       instead of construct msgdb.
+
+2003-08-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-msgdb.el (elmo-msgdb-message-entity-field): Decode value
+       when field is from or subject.
+
+2003-08-23  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-multi.el (elmo-message-entity-parent): Define.
+       (elmo-folder-search): Rewrite.
+
+2003-08-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-multi.el (elmo-message-cached-p): Define.
+
+       * elmo.el (elmo-message-cached-p): New method.
+       (elmo-message-accessible-p): Use it instead of msgdb API directly.
+       (elmo-message-flags): New method.
+       (elmo-message-flagged-p): New function.
+
+       * elmo-version.el (elmo-version): Up to 2.11.9.
+
+2003-08-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-version.el (elmo-version): Up to 2.11.8.
+
+       * elmo.el (elmo-folder-move-messages): Removed unused arguments.
+
+       * elmo-pipe.el (elmo-pipe-drain): Follow the change above.
+
+2003-08-14  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-detach-messages): Undo last change.
+
+2003-08-13  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-detach-messages): Don't load msgdb if empty.
+
+       * elmo-pipe.el (elmo-pipe-drain): Bind elmo-inhibit-number-mapping
+       only when src folder type is pop3.
+
+2003-08-12  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-msgdb.el (elmo-msgdb-make-index): Use
+       elmo-msgdb-overview-entity-get-number instead of
+       elmo-message-entity-number.
+
+2003-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-version.el (elmo-version): Up to 2.11.7.
+
+2003-08-07  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-append-msgdb): Rewrite and define as an inline
+       function.
+
+       * elmo-msgdb.el (elmo-msgdb-append): Use elmo-msgdb-make-index-return.
+       (elmo-msgdb-merge): New function.
+       (elmo-msgdb-make-index-return): Renamed from elmo-msgdb-make-index.
+       (elmo-msgdb-make-index): Rewrite.
+
+       * elmo-version.el (elmo-version): Up to 2.11.6.
+
+       * elmo-msgdb.el (elmo-msgdb-list-messages): If argument is a string,
+       use it as a the path for loading message entities.
+
+       * elmo-dop.el (elmo-folder-status-dop): Use elmo-msgdb-list-messages.
+
+2003-08-05  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-filter.el (elmo-folder-set-message-modified): Set 
+       message-modified slot of itself if it does not require target msgdb.
+
+       * elmo-mime.el (elmo-mime-message-display): Display message entirely
+       if folder length is zero.
+       (elmo-mime-display-as-is): Ditto.
+
+       * elmo-filter.el (elmo-folder-set-message-modified): Define.
+
+       * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
+
+2003-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-set-message-modified): New method.
+       (elmo-generic-folder-commit): Use it.
+       (elmo-folder-synchronize): Ditto.
+
+       * elmo-pipe.el (elmo-folder-set-message-modified): Define.
+       (elmo-folder-commit): Remove duplicate definition.
+
+2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-list-message-entities): Ignore killed-list.
+
+2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-msgdb-load): Use elmo-msgdb-list-messages.
+       (elmo-strict-folder-diff): Ditto.
+       (elmo-folder-set-info-max-by-numdb): Simplify.
+
+       * elmo-nntp.el (elmo-nntp-folder-msgdb-create): Use
+       elmo-msgdb-list-messages.
+
+       * elmo-msgdb.el (elmo-msgdb-seen-save): Abolish.
+       (elmo-msgdb-list-flagged): Fixed problem when `flag' is `read'.
+
+2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-list-messages): Treat killed-list only when
+       visible-only is non-nil.
+       (elmo-folder-confirm-appends): Changed message.
+       (elmo-folder-synchronize): Added argument disable-killed.
+
+       * elmo-multi.el (elmo-folder-synchronize): Added argument
+       disable-killed.
+
+       * elmo-pipe.el (elmo-folder-synchronize): Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.11.5.
+
+       * elmo-multi.el (elmo-folder-search): Use nil for 1st argument of
+       elmo-list-filter.
+
+       * elmo-util.el (elmo-list-filter): Simplify.
+
+       * elmo.el (elmo-generic-folder-commit): Use elmo-folder-list-messages.
+       (elmo-folder-set-info-max-by-numdb): Changed argument to number list.
+       (elmo-generic-folder-diff): Abolish argument.
+       (elmo-msgdb-load): Don't use number-alist.
+
+       * elmo-filter.el (elmo-folder-diff): Abolish argument.
+
+       * elmo-pipe.el (elmo-folder-diff): Ditto.
+
+       * elmo-nmz.el (elmo-folder-diff): Ditto.
+
+       * elmo-net.el (elmo-folder-diff): Ditto.
+
+       * elmo-maildir.el (elmo-folder-diff): Ditto.
+
+       * elmo-imap4.el (elmo-folder-diff-async): Ditto.
+
+       * elmo-multi.el (elmo-folder-diff): Ditto
+       (elmo-multi-folder-diff): Rewrite.
+
+2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-pipe.el (elmo-folder-msgdb): Define.
+
+2003-08-01  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-message-set-cached): Define as a method.
+
+       * elmo-pipe.el (elmo-message-set-cached): Define.
+       (elmo-find-fetch-strategy): Ditto.
+
+       * elmo-multi.el (elmo-message-set-cached): Define.
+       (elmo-find-fetch-strategy): Rewrite.
+
+       * elmo-mime.el (elmo-mime-message-display): Use elmo-message-entity.
+
+       * elmo-pipe.el (elmo-message-folder): Fixed definition.
+
+2003-07-30  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-msgdb.el (elmo-msgdb-list-messages): Use number of overviews
+       instead of number-alist.
+
+       * elmo-localdir.el (elmo-folder-append-messages): Don't refer
+       mark nor message-id when msgdb of source folder is not loaded.
+
+       * elmo.el (elmo-generic-folder-append-messages): Ditto.
+
+       * elmo-maildir.el (elmo-folder-append-messages): Ditto.
+
+2003-07-29  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-length): Don't require msgdb.
+
+2003-07-28  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-message-mark): Cause an error when empty folder.
+       (elmo-message-field): Ditto.
+
+       * elmo-maildir.el (luna-define-class): Added slot `answered-locations'.
+       (elmo-map-folder-list-message-locations): Setup `answered-locations'
+       slot.
+       (elmo-map-folder-list-answereds): Define.
+       (elmo-maildir-list-location): Treat 'R' info.
+       (elmo-folder-msgdb-create): Treat flag-table.
+       (elmo-folder-append-messages): Save flag-table.
+
 2002-05-05  David Smith <ultrasoul@ultrasoul.com>
 
        * elmo-imap4.el (elmo-imap4-folder-diff-plugged):