2004-04-16 YAMASHITA Junji <ysjj@unixuser.org>
[elisp/wanderlust.git] / elmo / ChangeLog
index ca3d9b6..4d363bf 100644 (file)
+2004-04-16  YAMASHITA Junji <ysjj@unixuser.org>
+
+       * elmo.el (elmo-folder-list-messages): Use elmo-uniq-sorted-list.
+
+       * elmo-nntp.el (elmo-nntp-make-msglist): Use elmo-make-number-list.
+
+       * elmo-util.el (elmo-uniq-sorted-list): New function.
+       (elmo-make-number-list): Ditto.
+       (elmo-number-set-to-number-list): Use elmo-make-number-list
+       and don't use nreverse.
+
+2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-version.el (elmo-version): Up to 2.11.25.
+
+2004-04-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): If date
+       field not exists in message, Use md5 message digest of header.
+
+2004-04-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (elmo-folder-append-buffer): Add note on return value.
+       * elmo-cache.el (elmo-folder-append-buffer): Return nil on failure.
+       * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
+       * elmo-split.el (elmo-split-subr): Check return value of
+       elmo-folder-append-buffer.
+
+       * elmo-localdir.el (elmo-folder-append-buffer): Create flag-table.
+       * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
+
+       * elmo-cache.el (elmo-folder-append-buffer): Check existence of
+       message-id.
+
+2004-04-10  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-split.el (elmo-split-subr): Append message with flag.
+
+       * elmo-localdir.el (elmo-folder-append-buffer): Fix interface.
+       * elmo-flag.el (elmo-folder-append-buffer): Ditto.
+       * elmo-maildir.el (elmo-folder-append-buffer): Ditto.
+
+2004-04-03  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use `elmo-delete-cr-buffer'.
+       * elmo-nntp.el (elmo-nntp-retrieve-headers): Ditto.
+       * elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
+
+2004-03-29  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-pop3.el (elmo-pop3-read-contents): Replace an argument `buffer'
+       with a function call of `process-buffer'.  All callers are updated.
+       (elmo-pop3-retrieve-headers): Likewise.  Move `process' to the 1st argument.
+       Remove redundant `set-buffer' in a while loop.
+
+2004-03-28  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-pop3.el (elmo-pop3-send-command): Combine `process-send-string'
+       calls.
+
+2004-03-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-spamfilter.el (elmo-spam-buffer-spam-p): Call
+       elsp-spamfilter-register-buffer-internal with current buffer.
+       (elmo-spam-register-spam-buffer): Ditto.
+       (elmo-spam-register-good-buffer): Ditto.
+
+2004-03-15  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
+
+       * elmo-imap4.el (elmo-folder-list-subfolders): Add root mailbox
+       if it is not contained in the response(A workaround for courier-imap).
+
+2004-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-imap4.el (elmo-folder-set-flag-plugged): Fix mismatched
+       parenthesis.
+
+2004-03-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-vars.el (elmo-msgdb-default-type): Remove generic from the
+       range.
+
+2004-03-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (elmo-msgdb-list-flagged): Use append instead
+       of nconc.
+
+       * modb-entity.el (elmo-msgdb-match-condition-primitive): Added
+       argument handler.
+       (elmo-msgdb-message-match-condition): Follow the change above.
+
+2004-02-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-flag.el (elmo-folder-initialize): Complete abbreviated
+       folder name.
+
+2004-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-kill-messages): Don't use msgdb directly.
+
+2004-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-kill-messages): Fix to update killed list.
+
+2004-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-file.el (elmo-file-find): Fixed the problem when file is
+       not found.
+
+2004-02-22  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-file.el (elmo-file-find): Use expand-file-name for return
+       value.
+       (elmo-file-command-argument): Undo last change for cygwin.
+       (elmo-file-detect-content-type): Renamed from elmo-file-detect-format;
+       Don't return nil.
+       (elmo-map-message-fetch): Use elmo-file-detect-content-type.
+
+2004-02-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-file.el (elmo-file-command-argument): Fixed problem when a
+       value returned from elmo-file-find is nil.
+
+2004-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-mime.el (elmo-mime-display-as-is-coding-system): Moved
+       to elmo-vars.el.
+
+       * elmo.el (elmo-message-match-condition): Use elmo-message-fetch
+       instead of insert-file-contents-as-binary.
+       (elmo-message-set-field): New generic function.
+
+       * elmo-localdir.el (elmo-folder-expand-msgdb-path): Follow the
+       behavior change on `split-string'.
+
+       * elmo-file.el (elmo-file-find): New function.
+       (elmo-file-command): New user option.
+       (elmo-file-command-argument): Ditto.
+       (elmo-file-fetch-max-size): Ditto.
+       (elmo-file-detect-format): New function.
+       (elmo-map-message-fetch): Use elmo-file-fetch-max-size;
+       Use elmo-file-detect-format.
+       (elmo-map-folder-list-message-locations): Don't treat directories.
+
+2004-02-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * elmo-util.el (elmo-string-partial-p): Removed unused function.
+       (elmo-passwd-alist-clear): Shred password before clear.
+       (elmo-remove-passwd): Remove all mached pair.
+
+2004-02-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (elmo-folder-synchronize): Fix description of the return
+       value.
+
+2004-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-message-fetch-bodystructure): New method.
+       (elmo-message-fetch-bodystructure): Define default.
+
+       * elmo-imap4.el (mime-imap-location-bodystructure): Call
+       elmo-message-fetch-bodystructure.
+       (elmo-message-fetch-bodystructure): Define.
+
+       * elmo-filter.el (elmo-message-fetch-bodystructure): Define.
+
+2004-02-15  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-filter.el (elmo-message-folder): Define.
+
+2004-02-13  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-message-fetch-with-cache-process): Don't call
+       elmo-delete-cr-buffer.
+
+       * elmo-imap4.el (elmo-imap4-message-fetch): Call elmo-delete-cr-buffer.
+
+       * elmo-pop3.el (elmo-message-fetch-plugged): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-read-body): Ditto.
+
+       * elmo-file.el (elmo-map-message-fetch): Decode body only when content
+       type seems to be a text.
+
+2004-02-12  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elsp-sa.el (elmo-spam-register-spam-buffer): Don't specify '--forget'.
+       (elmo-spam-register-good-buffer): Ditto.
+       (elmo-spam-spamassassin-register-messages): Ditto.
+
+       * elmo-util.el (elmo-string-member-ignore-case): Define with
+       static-cond.
+
+2004-02-09  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-type): Undo last change.
+
+       * slp.el (slp-exec-wait): Avoid byte-compile warnings.
+
+       * elmo-nntp.el (elmo-nntp-folder-list-subfolders): Avoid byte-compile
+       warnings.
+
+       * elmo-file.el: New file.
+       
+       * modb-standard.el (elmo-msgdb-list-flagged): Treat keyword flags.
+
+       * elsp-sa.el (elmo-spam-spamassassin-max-messages-per-process): New
+       variable.
+       (elmo-spam-spamassassin-register-messages): New inline function.
+       (elmo-spam-register-spam-messages): Define.
+       (elmo-spam-register-good-messages): Ditto.
+
+       * elsp-bogofilter.el (elmo-spam-bogofilter-max-messages-per-process):
+       Fixed typo.
+
+       * elmo.el (toplevel): Added autoload setting for
+       `elmo-get-global-flags'.
+       (elmo-message-has-global-flag-p): New function.
+       (elmo-message-set-global-flags): Ditto.
+       (elmo-folder-type): Improvement for name: format.
+
+       * elmo-imap4.el (elmo-imap4-session-flag-available-p): Check
+       availability of keyword flags.
+       (elmo-imap4-folder-list-flagged): Treat keyword flags.
+       (elmo-folder-list-flagged-plugged): Renamed from
+       elmo-folder-list-flagged-unplugged.
+       (elmo-imap4-set-flag): If "\*" is treated as permanent flag,
+       accept any flag as keyword flag.
+       (elmo-folder-set-flag-plugged): Accept keyword flags.
+       (toplevel): Added autoload setting for `elmo-get-global-flags'.
+
+       * elmo-flag.el (elmo-get-global-flags): New function.
+
+       * elmo-filter.el (elmo-folder-diff): Fix total number for filter
+       folders.
+
+       * elmo-version.el (elmo-version): Up to 2.11.24.
+
+2004-02-08  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
+       elmo-multiple-field-body instead of std11-field-body to check all
+       headers.
+
+2004-02-07  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * elmo-util.el (elmo-cache-expire): Completion require match "age"
+       or "size".
+
+2004-01-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-get-hash-val): Check symbol is bound if
+       unintern is unbound.
+
+2004-01-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
+       Protect from infinite loop.
+
+2004-01-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-bogofilter.el
+       (elmo-spam-bogofilter-max-messages-per-process): New user option.
+       (elmo-spam-bogofilter-register-messages): New internal function.
+       (elmo-spam-register-spam-messages): Define.
+       (elmo-spam-register-good-messages): Ditto.
+
+2004-01-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
+       Added "-vv" if elmo-spam-bogofilter-debug is non-nil.
+       (elmo-spam-bogofilter-call): Fixed the last change.
+       (elmo-spam-bogofilter-arguments): Ditto.
+
+       * elsp-bogofilter.el (elmo-spam-bogofilter-arguments-alist):
+       Follow the options change of latest bogofilter.
+
+       * elsp-bogofilter.el (elmo-spam-bogofilter-spam-switch): Abolish.
+       (elmo-spam-bogofilter-good-switch): Ditto.
+       (elmo-spam-bogofilter-arguments-alist): New user option.
+       (elmo-spam-bogofilter-debug): Ditto.
+       (elmo-spam-bogofilter-call): Renamed from
+       `elsp-bogofilter-call-bogofilter'. If elmo-spam-bogofilter-debug
+       is non-nil, insert output in buffer for debug.
+       (elmo-spam-bogofilter-arguments): New macro.
+       (elmo-spam-buffer-spam-p): Use it.
+       (elsp-bogofilter-register-buffer): Ditto.
+
+2004-01-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * elmo-cache.el (elmo-folder-list-subfolders): Fix directory-files
+       regexp.
+
+2004-01-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-bsfilter.el (elmo-spam-bsfilter-shell-program): Set default
+       value as "ruby".
+       (elmo-spam-bsfilter-shell-switch): Set default value as nil.
+       (elmo-spam-bsfilter-program): Set default value as full path for
+       `bsfilter'.
+       (elmo-spam-bsfilter-debug): New user option.
+       (elsp-bsfilter-call-bsfilter): If elmo-spam-bsfilter-debug is
+       non-nil, insert output in buffer for debug. Fix treating of
+       argument.
+
+2004-01-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-maildir.el (elmo-map-folder-set-flag): Use cdr of
+       `elmo-maildir-flag-specs' element instead of one.
+       (elmo-map-folder-unset-flag): Ditto.
+       (Reported by Ken Makimura <macky@astem.or.jp>)
+
+       * elmo-imap4.el (elmo-folder-set-flag-plugged): Fixed.
+       (elmo-folder-unset-flag-plugged): Ditto.
+
+2004-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-nntp.el (elmo-folder-list-flagged): Return a list according
+       to `reads' slot only if `in-msgdb' is nil.
+
+2004-01-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-nntp.el (elmo-folder-list-flagged): Undo the last change
+       and complement argument list.
+
+2004-01-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-nntp.el (elmo-folder-list-flagged-internal): Define this
+       instead of elmo-folder-list-flagged.
+
+2004-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-spam.el (elmo-spam-scheme): Add 'bsfilter' as a candidate.
+
+       * elsp-bsfilter.el: New file.
+
+       * elmo-pipe.el (elmo-folder-list-unreads,
+       elmo-folder-list-answereds,
+       elmo-folder-list-importants,
+       elmo-folder-flag-as-important,
+       elmo-folder-unflag-important,
+       elmo-folder-flag-as-read,
+       elmo-folder-unflag-read,
+       elmo-folder-flag-as-answered,
+       elmo-folder-unflag-answered): Remove.
+       (elmo-folder-set-flag): Define.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-nntp.el (elmo-folder-flag-as-read): Remove.
+       (elmo-folder-set-flag): Define.
+       (elmo-folder-unset-flag): Ditto.
+       (elmo-folder-list-unreads): Remove.
+       (elmo-folder-list-flagged): Define.
+
+       * elmo-net.el (elmo-folder-list-flagged-internal): Define.
+       (elmo-folder-list-unreads,
+       elmo-folder-list-importants,
+       elmo-folder-list-answereds,
+       elmo-folder-list-unreads-plugged,
+       elmo-folder-list-importants-plugged,
+       elmo-folder-list-answereds-plugged): Remove.
+       (elmo-folder-list-flagged-plugged): New method.
+       (elmo-folder-unflag-important,
+       elmo-folder-flag-as-important,
+       elmo-folder-unflag-read,
+       elmo-folder-flag-as-read,
+       elmo-folder-unflag-answered,
+       elmo-folder-flag-as-answered,
+       elmo-folder-flag-as-read-unplugged,
+       elmo-folder-unflag-read-unplugged,
+       elmo-folder-flag-as-important-unplugged,
+       elmo-folder-unflag-important-unplugged,
+       elmo-folder-flag-as-answered-unplugged,
+       elmo-folder-unflag-answered-unplugged): Remove.
+       (elmo-folder-set-flag): Define.
+       (elmo-folder-unset-flag): Ditto.
+       (elmo-folder-set-flag-unplugged): Ditto.
+       (elmo-folder-unset-flag-unplugged): Ditto.
+
+       * elmo-multi.el (elmo-folder-list-unreads,
+       elmo-folder-list-answereds,
+       elmo-folder-list-importants,
+       elmo-folder-flag-as-important,
+       elmo-folder-unflag-important,
+       elmo-folder-flag-as-read,
+       elmo-folder-unflag-read,
+       elmo-folder-flag-as-answered,
+       elmo-folder-unflag-answered): Remove.
+       (elmo-folder-set-flag): Define.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-map.el (elmo-map-folder-unflag-important,
+       elmo-map-folder-flag-as-important,
+       elmo-map-folder-unflag-read,
+       elmo-map-folder-flag-as-read,
+       elmo-map-folder-unflag-answered,
+       elmo-map-folder-flag-as-answered): Remove.
+       (elmo-map-folder-set-flag): New method.
+       (elmo-map-folder-unset-flag): Ditto.
+       (elmo-map-folder-list-unreads,
+       elmo-map-folder-list-importants,
+       elmo-map-folder-list-answereds): Remove.
+       (elmo-folder-list-flagged-internal): Define.
+       (elmo-map-folder-list-flagged): New method.
+
+       * elmo-maildir.el (elmo-maildir-flag-specs): New internal variable.
+       (elmo-map-folder-list-unreads,
+       elmo-map-folder-list-importants,
+       elmo-map-folder-list-flagged): Remove.
+       (elmo-map-folder-list-flagged): Define.
+       (elmo-map-folder-flag-as-important,
+       elmo-map-folder-unflag-important,
+       elmo-map-folder-flag-as-read,
+       elmo-map-folder-unflag-read,
+       elmo-map-folder-flag-as-answered,
+       elmo-map-folder-unflag-answered): Remove.
+       (elmo-maildir-set-mark-messages): New internal function.
+       (elmo-map-folder-set-flag): Define.
+       (elmo-map-folder-unset-flag): Ditto.
+
+       * elmo.el (toplevel): Added autoload setting for
+       `elmo-folder-list-global-flag-messages'.
+       (elmo-folder-list-unreads,
+       elmo-folder-list-importants,
+       elmo-folder-list-answereds): Remove.
+       (elmo-folder-list-flagged): Use `elmo-folder-list-flagged-internal'.
+       Return a list whitch merged with messages have global flag.
+       (elmo-folder-list-flagged-internal): New method.
+       (elmo-folder-unflag-important,
+       elmo-folder-flag-as-important,
+       elmo-folder-unflag-read,
+       elmo-folder-flag-as-read,
+       elmo-folder-unflag-answered,
+       elmo-folder-flag-as-answered): Remove.
+       (elmo-folder-set-flag): New method.
+       (elmo-folder-unset-flag): Ditto.
+       (elmo-message-set-flag):Use `elmo-folder-set-flag'.
+       (elmo-message-unset-flag):Use `elmo-folder-unset-flag'.
+
+       * elmo-imap4.el (elmo-imap4-flag-specs): New internal variable.
+       (elmo-folder-list-unreads-plugged,
+       elmo-folder-list-importants-plugged,
+       elmo-folder-list-answereds-plugged,
+       elmo-folder-list-flagged-unplugged,
+       elmo-folder-unflag-important-plugged,
+       elmo-folder-flag-as-important-plugged,
+       elmo-folder-unflag-read-plugged,
+       elmo-folder-flag-as-read-plugged,
+       elmo-folder-unflag-answered-plugged,
+       elmo-folder-flag-as-answered-plugged): Remove.
+       (elmo-folder-set-flag-plugged,
+       elmo-folder-unset-flag-plugged): Define.
+
+       * elmo-flag.el (elmo-folder-initialize): Register to
+       `elmo-global-flag-list' if flag is not global.
+       (elmo-folder-append-messages): Set flag to source messages.
+
+       * elmo-filter.el (elmo-filter-folder-list-unreads,
+       elmo-folder-list-unreads,
+       elmo-filter-folder-list-importants,
+       elmo-folder-list-importants,
+       elmo-folder-flag-as-read,
+       elmo-folder-unflag-read,
+       elmo-folder-flag-as-important,
+       elmo-folder-unflag-important,
+       elmo-folder-flag-as-answered,
+       elmo-folder-unflag-answered): Remove.
+       (elmo-folder-set-flag): Define.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-dop.el (elmo-folder-flag-as-read-dop,
+       elmo-folder-unflag-read-dop,
+       elmo-folder-flag-as-important-dop,
+       elmo-folder-unflag-important-dop,
+       elmo-folder-flag-as-answered-dop,
+       elmo-folder-unflag-answered-dop): Remove.
+       (elmo-folder-set-flag-dop,
+       elmo-folder-unset-flag-dop,
+       elmo-folder-set-important-delayed,
+       elmo-folder-unset-important-delayed,
+       elmo-folder-set-read-delayed,
+       elmo-folder-unset-read-delayed,
+       elmo-folder-set-answered-delayed,
+       elmo-folder-unset-answered-delayed): New function.
+       (elmo-dop-queue-merge-method-list): Follow the above chagned.
+       (elmo-dop-queue-method-name-alist): Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.11.23.
+
+2004-01-11  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-spam.el (elmo-spam-scheme): Add 'sa' as a candidate.
+
+       * elsp-sa.el: New file.
+
+2003-12-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (modb-standard-message-entity): New function.
+       (elmo-msgdb-message-entity): Use it.
+
+2003-12-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-internal.el (elmo-folder-list-subfolders): Rewrite; Fixed
+       behavior when one-level is nil.
+
+       * elmo-flag.el (elmo-folder-list-subfolders): Defined.
+
+       * elmo-sendlog.el (elmo-folder-have-subfolder-p): Ditto.
+
+2003-12-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-set-info-max-by-numdb): Don't use `sort' to
+       get max number.
+       (elmo-generic-folder-diff): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-catchup-msgdb): Ditto.
+       (elmo-folder-update-number): Ditto.
+
+       * elmo-dop.el (elmo-folder-status-dop): Ditto.
+       (elmo-folder-next-message-number-dop): Ditto.
+
+2003-12-04  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-filter.el (elmo-folder-msgdb-create): Use
+       `elmo-message-entity' and `elmo-message-flags' instead of
+       `elmo-msgdb-message-entity' and `elmo-msgdb-flags'.
+
+2003-11-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-spam.el (elmo-spam-processor): Added 3rd argument
+       `if-exists'.
+
+2003-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-multi.el (elmo-folder-newsgroups): Simplify.
+
+       * elmo-pipe.el (elmo-folder-get-primitive-list): Likewise.
+
+       * elmo-filter.el (elmo-folder-get-primitive-list): Fixed.
+
+2003-11-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-version.el (elmo-version): Up to 2.11.22.
+
+2003-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (elmo-msgdb-delete-messages): Always return t.
+
+2003-11-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (elmo-msgdb-delete-messages): Dose not process
+       if the message dose not exist.
+
+2003-11-18  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-version.el (elmo-version): Up to 2.11.21.
+
+2003-11-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (toplevel): Don't require mime.
+
+2003-11-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-bogofilter.el (toplevel): Don't require path-util.
+       (elmo-spam-bogofilter-program): Don't use `exec-installed-p'.
+       (elmo-spam-bogofilter-header): Abolish.
+       (elmo-spam-bogofilter-bogosity-positive-spam-header): Ditto.
+       (elmo-spam-bogofilter-args): New user option.
+       (elsp-bogofilter-call-bogofilter): New internal function.
+       (elmo-spam-buffer-spam-p): Use it.
+       (elsp-bogofilter-register-buffer): Renamed from
+       `elmo-spam-bogofilter-register-buffer';
+       Use `elsp-bogofilter-call-bogofilter'.
+       (elmo-spam-register-spam-buffer): Follow the change above.
+       (elmo-spam-register-good-buffer): Ditto.
+
+2003-11-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (elmo-msgdb-append-entity): If entity or
+       message-id is nil do nothing.
+
+2003-11-10  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-imap4-disuse-server-flag-mailbox-regexp):
+       Revival.
+       (elmo-imap4-session): Removed use-flag slot.
+       (elmo-imap4-session-select-mailbox): Undo last change.
+       (elmo-folder-use-flag-p): Use
+       elmo-imap4-disuse-server-flag-mailbox-regexp.
+
+2003-11-09  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-imap4-session): Added use-flag slot.
+       (elmo-imap4-session-select-mailbox): Set it up.
+       (elmo-folder-use-flag-p): Return value of use-flag slot.
+
+2003-11-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-msgdb.el (elmo-msgdb-flag-table): Fixed problem when
+       message-id is nil.
+       (Reported by MAKINO Takashi <makino@digitalway.co.jp>)
+
+       * modb-entity.el (elmo-message-entity-handler): Likewise.
+
+2003-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (toplevel): Remove setting of autoloding for
+       elmo-global-flag-initialize.
+       (elmo-init): Don't call elmo-global-flag-initialize.
+       (toplevel): Added autoload setting for elmo-global-mark-migrate.
+
+       * elmo-flag.el (elmo-global-flag-initialize): Abolish.
+       (elmo-global-mark-migrate): Don't call it.
+       (elmo-global-mark-upgrade): Ditto.
+
+2003-11-06  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-internal.el (elmo-internal-obsolete-folder-list): New variable.
+       (elmo-folder-initialize): Raise a warning when obsolete folder is used.
+
+       * elmo-vars.el (elmo-init-hook): New user option.
+
+       * elmo.el (elmo-init): Run the elmo-init-hook.
+
+       * elmo-flag.el (elmo-global-mark-migrate): New function.
+
+2003-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (elmo-msgdb-set-flag): Simplify;
+       Undo last change (move to elmo-msgdb-unset-flag).
+       (elmo-msgdb-unset-flag): Simplify; Unset 'new flag when unread
+       flag is unset.
+
+2003-11-05  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-standard.el (elmo-msgdb-set-flag): Unset 'new flag when
+       read flag is set.
+       (elmo-msgdb-set-flag): Don't remove 'new flag unconditionally.
+       (elmo-msgdb-unset-flag): Ditto.
+
+2003-11-05  Andreas Fuchs <asf@boinkor.net>
+
+       * elmo-split.el (elmo-split): Return split message count.
+
+2003-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-msgdb.el (elmo-flag-table-get): Check cached if saved flags
+       is nil.
+
+2003-11-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-unflag-important): Call
+       `elmo-global-flag-detach' with 4th argument delete-if-none that is
+       a symbol `always'.
+
+       * elmo-flag.el (elmo-flag-folder-delete-message): Clear hash value
+       before unset flag.
+       (elmo-global-flag-detach): Delete the message from flag folder, if
+       `delete-if-none' is a symbol `always'.
+
+2003-11-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-spamfilter.el (elsp-spamfilter-decode-buffer): Renamed from
+       `elmo-spam-spamfilter-decode-buffer'.
+       (elsp-spamfilter-register-buffer-internal): New internal function.
+       (elmo-spam-buffer-spam-p): Use it; Follow the API change.
+       (elmo-spam-register-spam-buffer): Ditto.
+       (elmo-spam-register-good-buffer): Ditto.
+
+       * elsp-bogofilter.el (elmo-spam-buffer-spam-p): Follow the API
+       change.
+       (elmo-spam-bogofilter-register-buffer): Added argument `restore'.
+       (elmo-spam-register-spam-buffer): Follow the API change.
+       (elmo-spam-register-good-buffer): Ditto.
+
+       * elmo-split.el (toplevel): Require elmo-spam when copmile.
+       (elmo-split-spam-p): Added argument plist; Call
+       `elmo-spam-buffer-spam-p' with new argument register.
+
+       * elmo-spam.el (elmo-spam-buffer-spam-p): Added optional argument
+       `register'.
+       (elmo-spam-message-spam-p): Ditto.
+       (elmo-spam-register-spam-buffer): Added optional argument
+       `restore'.
+       (elmo-spam-register-good-buffer): Ditto.
+       (elmo-spam-register-spam-messages): Ditto.
+       (elmo-spam-register-good-messages): Ditto.
+
+2003-10-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-spamfilter.el (elmo-spam-register-spam-buffer): Fixed to
+       register into good corpus.
+       (elmo-spam-register-good-buffer): Fixed to register into bad
+       corpus.
+
+2003-10-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-version.el (elmo-version): Up to 2.11.20.
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed last
+       change.
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Determine new
+       flag without depending on \Recent flag.
+
+2003-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elsp-spamfilter.el (elsp-spamfilter): Added new slot `modified'.
+       (elmo-spam-modified-p): Defined.
+       (elmo-spam-save-status): Set `modified' slot to nil.
+       (elmo-spam-register-spam-buffer): Set `modified' slot to non nil.
+       (elmo-spam-register-good-buffer): Ditto.
+
+       * elmo-spam.el (elmo-spam-modified-p): New API.
+
+2003-10-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Abolish
+       duplicate definition.
+
+       * elmo-util.el (elmo-unfold-field-body): New function.
+       (elmo-msgdb-get-message-id-from-buffer): Use it.
+
+       * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
+       Fixed the last change; Use elmo-unfold-field-body.
+
+2003-10-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
+       Unfold date value.
+
+2003-10-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-spam.el (elmo-spam-save-status): New API.
+
+       * elsp-spamfilter.el: New file.
+
+2003-10-21  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * elmo-split.el (toplevel): Add `elmo-spam-processor' args.
+
+2003-10-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-split.el (elmo-split-spam-p): New function.
+
+       * elmo-spam.el: New file.
+
+       * elsp-bogofilter.el: Ditto.
+
+2003-10-15  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-next-message-number): New API.
+       (elmo-folder-next-message-number): Define.
+       (elmo-message-field): Don't check folder length.
+
+       * elmo-net.el (elmo-folder-next-message-number): Define.
+       (elmo-folder-next-message-number-unplugged): Define.
+
+       * elmo-map.el (elmo-folder-next-message-number): Define.
+       (elmo-folder-delete-messages): Clear hash value.
+
+       * elmo-imap4.el (elmo-folder-next-message-number-plugged): Define.
+
+       * elmo-dop.el (elmo-folder-next-message-number-dop): New function.
+       (elmo-folder-delete-messages-dop-delayed): Always return t.
+
+       * elmo-version.el (elmo-version): Up to 2.11.19.
+
+2003-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-legacy.el (elmo-msgdb-append-entity): Fixed the last
+       change.
+
+       * modb-legacy.el (elmo-msgdb-append-entity): Registered an
+       identical cons cell into the mark-alist and the hash table.
+
+2003-10-08  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-pipe.el (elmo-pipe-folder-list-target-messages): Call
+       elmo-folder-list-messages with argument `visible-only' as t.
+
+       * elmo-filter.el (elmo-folder-search-requires-msgdb-p): Define.
+       (elmo-folder-msgdb-create): Check the target folder.
+
+2003-10-07  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-imap4-session-select-mailbox): Use
+       `permanentflag' instead of `flags'.
+       (elmo-folder-open): Ditto.
+       (elmo-imap4-set-flag): Treat \Deleted flag as an exception.
+       (elmo-imap4-disuse-server-flag-mailbox-regexp): Abolish.
+       (elmo-folder-use-flag-p): Always return t.
+       (elmo-imap4-session-select-mailbox): Use value of `flags' if
+       `permanentflags' does not exist.
+       (elmo-folder-open): Ditto.
+
+2003-10-06  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-legacy.el (elmo-msgdb-message-entity): Return nil when key
+       is nil.
+       * modb-standard.el (elmo-msgdb-message-entity): Ditto.
+
+       * elmo-imap4.el (elmo-imap4-session): Added new slot `flags'.
+       (elmo-imap4-session-select-mailbox): Set it according to the SELECT
+       response.
+       (elmo-folder-open): Ditto.
+       (elmo-imap4-set-flag): Send store flag command only when the `flags'
+       slot of the session includes the flag.
+       (elmo-imap4-session-flag-available-p): New function.
+       (elmo-imap4-folder-list-flagged): Ditto.
+       (elmo-folder-list-unreads-plugged): Use it.
+       (elmo-folder-list-importants-plugged): Ditto.
+       (elmo-folder-list-answereds-plugged): Ditto.
+       (elmo-imap4-search-internal-primitive): Ditto.
+       (elmo-imap4-folder-list-any-plugged,
+       elmo-imap4-folder-list-digest-plugged): Abolish.
+
+       * elmo-filter.el (elmo-folder-search): Don't call elmo-list-filter
+       if numbers is nil.
+
+2003-10-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-util.el (toplevel): Require emu for char-list-to-string.
+
+2003-10-05  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-util.el (elmo-get-hash-val): Simplify.
+       (elmo-set-hash-val): Rewrite.
+
+2003-09-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-list-messages): Append killed messages into
+       result if `visible-only' is nil and `in-msgdb' is non-nil.
+
+       * elmo-util.el (elmo-uniq-list): Added optional argument
+       `delete-function'.
+
+       * modb.el (elmo-msgdb-flag-count): New API.
+
+       * modb-standard.el (modb-standard): Added slot flag-count.
+       (modb-standard-countup-flags): New function.
+       (modb-standard-load-flag): Call it.
+       (elmo-msgdb-append): Ditto.
+       (elmo-msgdb-clear): Clear slot flag-count.
+       (elmo-msgdb-set-flag): Call modb-standard-countup-flags.
+       (elmo-msgdb-unset-flag): Treat `all' flag and call
+       modb-standard-countup-flags.
+       (elmo-msgdb-flag-count): Define.
+       (elmo-msgdb-append-entity): Call modb-standard-countup-flags.
+       (elmo-msgdb-delete-messages): Ditto.
+
+       * modb-legacy.el (elmo-msgdb-unset-flag): Treat `all' flag.
+       (elmo-msgdb-flag-count): Define.
+
+       * elmo.el (elmo-folder-list-messages): Undo last change.
+       (elmo-folder-count-flags): Use elmo-msgdb-flag-count.
+       (elmo-folder-kill-messages): Unset all flags to numbers.
+
+       * elmo-sendlog.el (elmo-folder-delete-messages): Rewrite; use
+       elmo-folder-kill-messages.
+
+       * elmo-nntp.el (elmo-folder-delete-messages): Ditto.
+       (elmo-nntp-folder-delete-messages): Abolish.
+
+       * elmo-version.el (elmo-version): Up to 2.11.18.
+
+2003-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-kill-messages-before): Abolish.
+       (elmo-folder-kill-messages-range): New function.
+       (elmo-folder-synchronize): Use elmo-folder-kill-messages-range
+       instead of elmo-folder-kill-messages-before.
+
+2003-09-26  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-imap4-fetch-callback-1): Use
+       elmo-imap4-current-msgdb to decide entity handler.
+
+2003-09-25  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-dop.el (elmo-dop-msgdb): Rewrite.
+
+       * modb-legacy.el (elmo-msgdb-overview-entity-get-id-internal): New
+       inline function.
+       (elmo-msgdb-overview-entity-get-number-internal): Ditto.
+       (elmo-msgdb-overview-entity-set-number,
+       elmo-msgdb-overview-entity-get-references,
+       elmo-msgdb-overview-entity-set-references,
+       elmo-msgdb-overview-entity-get-from-no-decode,
+       elmo-msgdb-overview-entity-get-from,
+       elmo-msgdb-overview-entity-set-from,
+       elmo-msgdb-overview-entity-get-subject,
+       elmo-msgdb-overview-entity-get-subject-no-decode,
+       elmo-msgdb-overview-entity-set-subject,
+       elmo-msgdb-overview-entity-get-date,
+       elmo-msgdb-overview-entity-set-date,
+       elmo-msgdb-overview-entity-get-to,
+       elmo-msgdb-overview-entity-get-cc,
+       elmo-msgdb-overview-entity-get-size,
+       elmo-msgdb-overview-entity-set-size,
+       elmo-msgdb-overview-entity-get-extra,
+       elmo-msgdb-overview-entity-set-extra,
+       elmo-msgdb-overview-entity-get-extra-field,
+       elmo-msgdb-overview-entity-set-extra-field): Moved to elmo-msgdb.el.
+       (elmo-msgdb-make-index): Use
+       `elmo-msgdb-overview-entity-get-number-internal'.
+       (elmo-msgdb-clear-index): Ditto.
+       (elmo-msgdb-append-entity): Ditto;
+       Use `elmo-msgdb-overview-entity-get-id-internal'.
+
+       * elmo-msgdb.el (elmo-msgdb-overview-entity-get-number,
+       elmo-msgdb-overview-entity-set-number,
+       elmo-msgdb-overview-entity-get-references,
+       elmo-msgdb-overview-entity-set-references,
+       elmo-msgdb-overview-entity-get-from-no-decode,
+       elmo-msgdb-overview-entity-get-from,
+       elmo-msgdb-overview-entity-set-from,
+       elmo-msgdb-overview-entity-get-subject,
+       elmo-msgdb-overview-entity-get-subject-no-decode,
+       elmo-msgdb-overview-entity-set-subject,
+       elmo-msgdb-overview-entity-get-date,
+       elmo-msgdb-overview-entity-set-date,
+       elmo-msgdb-overview-entity-get-to,
+       elmo-msgdb-overview-entity-get-cc,
+       elmo-msgdb-overview-entity-get-size,
+       elmo-msgdb-overview-entity-set-size,
+       elmo-msgdb-overview-entity-get-extra,
+       elmo-msgdb-overview-entity-set-extra,
+       elmo-msgdb-overview-entity-get-extra-field,
+       elmo-msgdb-overview-entity-set-extra-field): Moved from modb-legacy.el
+       and rewrote for backward compatibility.
+
+2003-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-entity-number,
+       elmo-message-entity-set-number,
+       elmo-message-entity-field,
+       elmo-message-entity-set-field): Moved to elmo-msgdb.el.
+
+       * elmo-msgdb.el (elmo-message-entity-number,
+       elmo-message-entity-set-number,
+       elmo-message-entity-field,
+       elmo-message-entity-set-field): Moved from elmo.el.
+
+2003-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (toplevel): Changed definition orders.
+
+2003-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb.el (elmo-msgdb-search): New API .
+       (elmo-msgdb-match-condition): Ditto.
+
+       * modb-standard.el (elmo-msgdb-search): Define.
+
+       * modb-legacy.el (elmo-msgdb-search): Ditto.
+
+       * modb-entity.el (elmo-msgdb-message-match-condition): Renamed
+       from elmo-msgdb-match-condition-internal.
+
+       * elmo.el (elmo-folder-search-fast): Abolish.
+       (elmo-folder-search): Use elmo-msgdb-search and
+       elmo-with-progress-display.
+
+       * elmo-msgdb.el (elmo-msgdb-match-condition): Removed; redefined
+       as msgdb API.
+
+       * elmo.el (elmo-folder): Remove slot message-modified and
+       flag-modified.
+       (elmo-folder-set-message-modified): Abolish.
+       (elmo-generic-folder-commit): Follow the change above.
+       (elmo-folder-synchronize): Ditto.
+
+       * elmo-pipe.el (elmo-folder-set-message-modified): Abolish.
+
+       * elmo-multi.el (elmo-folder-set-message-modified): Ditto.
+
+       * elmo-filter.el (elmo-folder-set-message-modified): Ditto.
+
+2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-standard.el (modb-standard-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): Remove.
+
+       * 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-msgdb.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):