Fixed last change.
[elisp/wanderlust.git] / elmo / ChangeLog
index f7cf733..2274b75 100644 (file)
@@ -1,5 +1,935 @@
+2004-02-20  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * 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.
 
        * elmo-util.el (elmo-msgdb-insert-file-header): Moved from
        modb-legacy.el.
-       (elmo-multiple-field-body): Moved from elmo-util.el.
+       (elmo-multiple-field-body): Moved from elmo-msgdb.el.
 
        * elmo-msgdb.el (elmo-multiple-field-body): Moved to elmo-util.el.