* elmo-imap4.el (elmo-imap4-decode-folder-string): Call `utf7-decode'.
[elisp/wanderlust.git] / elmo / ChangeLog
index d2f5863..1723509 100644 (file)
+2005-02-10  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-imap4-decode-folder-string): Call `utf7-decode'.
+       (elmo-imap4-encode-folder-string): Call `utf7-encode'.
+
+       * elmo-maildir.el (elmo-maildir-separator): New user option.
+       (elmo-maildir-adjust-separator): New macro.
+       (elmo-maildir-list-location): Use it.
+       (elmo-maildir-update-current): Ditto.
+       (elmo-maildir-set-mark): Ditto.
+       (elmo-maildir-delete-mark): Ditto.
+       (Above changes are based on Hiroya Murata's patch [wl: 13437])
+
+2005-02-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-nntp.el (elmo-nntp-server-command-index): Add entry `xhdr'.
+
+2005-02-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-flag.el (elmo-flag-valid-p): Simplify.
+       (elmo-folder-list-subfolders): Copy `elmo-global-flags'.
+       (elmo-folder-delete): Update `elmo-global-flag-folder-alist'.
+
+2005-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * elmo-util.el (elmo-passwd-alist-load, elmo-passwd-alist-save):
+       Use `with-temp-buffer'.
+
+2005-01-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-flag.el (elmo-folder-initialize): Fixed the last change.
+
+       * elmo-util.el (elmo-read-search-condition): Eliminate (renamed to
+       `wl-read-search-condition').
+       (elmo-read-search-condition-internal): Likewise.
+
+       * elmo-flag.el (elmo-flag-char-regexp): New constant.
+       (elmo-flag-valid-p): New function.
+       (elmo-folder-initialize): Check flag name is valid.
+
+2005-01-26  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-imap4.el (elmo-folder-list-subfolders): Use root mailbox without
+       delimiter to obtain root mailbox itself.
+
+2005-01-25  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-net.el (elmo-network-session-idle-timeout): Fix customization
+       type mismatch.
+
+2005-01-24  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-mime.el (elmo-mime-entity-display): Bind elmo-message-displaying
+       as t.
+
+2005-01-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-shimbun.el (toplevel): Require cl at compile.
+
+       * elmo-nntp.el (toplevel): Ditto.
+
+       * elmo-nmz.el (toplevel): Ditto.
+
+       * elmo-multi.el (toplevel): Ditto.
+
+       * elmo-file.el (toplevel): Ditto.
+
+       * elmo-dop.el (toplevel): Ditto.
+
+       * elmo-archive.el (toplevel): Likewise elmo and cl (at compile).
+
+2005-01-20  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * mmimap.el (mmimap-make-mime-entity): Set children's top node number
+       as nil.
+
+       * elmo.el (elmo-message-fetch): Return t even when the output buffer
+       size of elmo-message-fetch-internal is 0 byte.
+
+2005-01-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-maildir.el (elmo-map-message-fetch): Fixed last change.
+
+2005-01-13  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-shimbun.el (elmo-folder-plugged-p): Treat "@" as
+       always plugged.
+
+2005-01-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-maildir.el (elmo-map-message-fetch): Call
+       `elmo-map-folder-set-flag'.
+
+       * elmo.el (elmo-message-fetch-with-cache-process): Abolish.
+       (elmo-message-fetch): Merge from
+       `elmo-message-fetch-with-cache-process'.
+
+       * elmo-sendlog.el (elmo-message-fetch-with-cache-process): Abolish.
+       (elmo-message-fetch): Define.
+
+       * elmo-nntp.el (elmo-message-fetch): Renamed from
+       `elmo-message-fetch-with-cache-process'.
+
+       * elmo-cache.el (elmo-message-fetch-with-cache-process): Abolish.
+       (elmo-message-fetch): Define.
+
+       * elmo-util.el (elmo-condition-parse-primitive): Downcase
+       search-key.
+
+       * elmo-shimbun.el (shimbun-mua-search-id): Use
+       `elmo-message-entity' instead of `elmo-msgdb-message-entity'.
+       (elmo-shimbun-folder-shimbun-header): Ditto.
+       (elmo-shimbun-get-headers): Ditto.
+       (elmo-shimbun-update-overview): Ditto.
+
+       * elmo-pipe.el (elmo-folder-detach-messages): Define.
+
+       * elmo-net.el (elmo-folder-list-messages-unplugged): Use
+       `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
+
+2005-01-13  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-message-fetch): Unset unread flag on server when
+       message is cached.
+       (elmo-message-fetch-string): Fixed argument.
+
+2005-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-fetch): Removed argument `outbuf' and
+       exchange order of arguments `section' and `unread'.
+       (elmo-message-encache): Follow the API change.
+       (elmo-message-match-condition): Ditto.
+       (elmo-generic-folder-append-messages): Ditto.
+       (elmo-message-fetch-string): New function.
+
+       * elmo-split.el (elmo-split-subr): Ditto.
+
+       * elmo-spam.el (elmo-spam-message-fetch): Ditto.
+
+       * elmo-pipe.el (elmo-message-fetch): Ditto.
+
+       * elmo-multi.el (elmo-message-fetch): Ditto.
+
+       * elmo-mime.el (elmo-message-mime-entity): Ditto.
+
+       * elmo-flag.el (elmo-global-flag-set-internal): Ditto.
+
+       * elmo-filter.el (elmo-message-fetch): Ditto.
+
+       * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.
+
+       * elmo-imap4.el (mime-imap-location-section-body): Use
+       `elmo-message-fetch-string' instead of `elmo-message-fetch' and
+       follow the API change.
+
+2005-01-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-access.el: New file.
+
+       * elmo-null.el: Ditto.
+
+       * elmo-internal.el (elmo-internal-folder-list): Added `null'.
+
+2005-01-08  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-net.el (elmo-network-session-idle-timeout): New option.
+       (elmo-network-session): New attribute `last-accessed'.
+       (elmo-network-get-session): Discard network cache if elapsed time
+       since last-accessed is larger than elmo-network-session-idle-timeout.
+
+2005-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-find-fetch-strategy): Removed argument `entity'
+       and added `number', `require-entireness'.
+       (elmo-find-fetch-strategy): Rewrite.
+       (elmo-message-fetch): Unset `unread' flag when argument unread is
+       non-nil.
+
+       * elmo-spam.el (elmo-spam-message-fetch): Follow the API change.
+
+       * elmo-multi.el (elmo-find-fetch-strategy): Ditto.
+       (elmo-message-fetch): Notify event `flag-changed'.
+
+       * elmo-pipe.el: Likewise.
+
+       * elmo-mime.el (elmo-mime-entity): New class.
+       (elmo-mime-entity-display-p): New generic function.
+       (elmo-mime-entity-display): Ditto.
+       (elmo-mime-entity-display-as-is): Ditto.
+       (mime-elmo-buffer-entity, mime-elmo-imap-entity): Inherit
+       elmo-mime-entity.
+       (elmo-make-mime-message-location): Removed.
+       (elmo-mime-message-display): Ditto.
+       (elmo-mime-display-as-is): Ditto.
+       (elmo-message-mime-entity): New function.
+
+       * elmo-imap4.el (elmo-find-fetch-strategy): Rewrite.
+
+       * elmo-filter.el (elmo-find-fetch-strategy): Follow the API
+       change.
+       (elmo-message-fetch): Re-count flagged message number and notify
+       event `flag-changed'.
+
+       * elmo-version.el (elmo-version): Up to 2.13.1.
+
+2005-01-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-filter.el (elmo-message-field): Define.
+       (elmo-message-set-field): Ditto.
+
+2004-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-set-cached): Call
+       `elmo-folder-notify-event' with cache-changed.
+       (elmo-event-handler-cache-changed): New generic function.
+
+2004-12-22  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-maildir.el (elmo-folder-append-buffer): Use elmo-copy-file
+       instead of elmo-add-name-to-file.
+       (elmo-folder-append-messages): Ditto.
+
+2004-12-21  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (elmo-folder-update-threshold): Add nil to range.
+
+2004-12-12  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-version.el (elmo-version): Up to 2.13.0.
+
+       * elmo-vars.el (elmo-msgdb-convert-type): Changed default value to
+       `auto'.
+
+       * modb-standard.el (modb-standard-economize-entity-size): Changed
+       default value to `t'.
+
+       * elmo-vars.el (elmo-msgdb-default-type): Changed default value to
+       `standard'.
+
+       * elmo-imap4.el (elmo-network-initialize-session): Erase buffer
+       after parsing greeting string.
+
+2004-11-23  Daishi Kato <daishi@axlight.com>
+
+       * elsp-spamoracle.el (elmo-spam-spamoracle-spam-header-regexp):
+       New user option.
+       (elmo-spam-spamoracle-call): Use it.
+
+2004-11-23  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (elmo-message-accessible-p): Message in dop spool
+       is accessible.
+
+2004-11-23  Daishi Kato <daishi@axlight.com>
+
+       * elsp-spamoracle.el: New file.
+
+2004-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-flags-for-append): New function.
+       (elmo-generic-folder-append-messages): Use it.
+
+       * elmo-split.el (elmo-split-subr): Ditto.
+
+       * elmo-dop.el (elmo-dop-spool-folder-append-buffer): Add argument
+       `flags' and use elmo-folder-append-buffer instead of
+       write-region-as-binary.
+       (elmo-dop-filter-pending-messages): New function.
+       (elmo-folder-append-buffer-dop): Call
+       elmo-dop-spool-folder-append-buffer with `flag'.
+       (elmo-folder-set-flag-dop): Filter messages by
+       elmo-dop-filter-pending-messages.
+       (elmo-folder-unset-flag-dop): Ditto.
+       (elmo-folder-append-buffer-dop-delayed): Use
+       elmo-message-flags-for-append to get flags of the message and
+       simplify.
+
+2004-11-07  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-mime.el (elmo-mime-display-as-is): Treat ignore-cache argument.
+
+2004-11-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder): Added handlers slot.
+       (elmo-event-handler): New class.
+       (elmo-event-handler-flag-changed): New API.
+       (elmo-folder-add-handler): New function.
+       (elmo-folder-remove-handler): Ditto.
+       (elmo-folder-notify-event): Ditto.
+       (elmo-folder-set-flag): Call `elmo-folder-notify-event' with event
+       `flag-changed'.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-pipe.el (elmo-folder-set-flag): Ditto.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-multi.el (elmo-folder-set-flag): Ditto.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-filter.el (elmo-folder-set-flag): Ditto.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.11.33.
+
+2004-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-legacy.el (elmo-msgdb-unset-flag): Accept flag `all'.
+
+2004-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-multi.el (elmo-folder-unset-flag): Ignore errors.
+
+       * elmo-flag.el (elmo-folder-unset-flag): Define.
+       (elmo-global-flag-detach): Do process when the flag is not target
+       flag.
+
+2004-10-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): New
+       variable.
+       (elmo-msgdb-create-message-entity-from-buffer): Use it.
+
+2004-10-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-filter.el (elmo-filter-folder-copy-flag-count): New
+       function.
+       (elmo-folder-delete-messages): Detach messages before delete
+       messages from target folder.
+       (elmo-folder-detach-messages): Set updated number-list to slot.
+
+2004-10-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-filter.el (elmo-folder-detach-messages): Always return t.
+
+2004-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-generic-folder-commit): Fixed parenthesis.
+
+2004-10-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-delete-messages-internal): New API (for
+       internal use only).
+       (elmo-generic-folder-commit): Save `killed-list' even if msgdb is
+       not modified.
+       (elmo-folder-delete-messages): Define.
+       (elmo-folder-move-messages): Don't call
+       `elmo-folder-detach-messages'.
+       (elmo-folder-synchronize): Rewrite.
+       (elmo-folder-detach-messages): Delete numbers from `killed-list'.
+
+       * elmo-util.el (elmo-last): New function.
+       (elmo-set-list): Ditto.
+       (elmo-number-set-delete-list): Ditto.
+       (elmo-number-set-delete): Ditto.
+
+       * elmo-shimbun.el (elmo-folder-delete-messages): Define.
+
+       * elmo-map.el (elmo-folder-delete-messages-internal): Renamed from
+       `elmo-folder-delete-messages' and don't delete location map.
+       (elmo-folder-detach-messages): Define.
+
+       * elmo-imap4.el (elmo-folder-delete): Use
+       `elmo-folder-delete-messages-internal' instead of
+       `elmo-folder-delete-messages'.
+
+       * elmo-filter.el (elmo-folder-delete-messages): Call
+       `elmo-folder-detach-messages'.
+       (elmo-folder-detach-messages): Don't call
+       `elmo-folder-detach-messages' for target folder.
+
+       * elmo-cache.el (elmo-map-folder-delete-messages): Return t when
+       message deletion is succeeded.
+
+       * elmo-maildir.el (elmo-map-folder-delete-messages): Ditto.
+
+       * elmo-archive.el (elmo-folder-delete-messages-internal): Renamed
+       from `elmo-folder-delete-messages'.
+
+       * elmo-flag.el (elmo-folder-delete-messages-internal): Ditto.
+
+       * elmo-localdir.el (elmo-folder-delete-messages-internal): Ditto.
+
+       * elmo-net.el (elmo-folder-delete-messages-internal): Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.11.32.
+
+2004-10-10  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (autoload): Added autoload setting for `elmo-local-flag-p'.
+       (elmo-global-flag-list): Added obsolete variable setting.
+
+       * elmo-vars.el (elmo-preserved-flags): Fixed docstring.
+
+       * elmo-mime.el (elmo-mime-display-header-analysis): New variable.
+       (elmo-mime-insert-header-from-buffer): Don't decode header content when
+       `elmo-mime-display-header-analysis' is nil.
+
+       * elmo-flag.el (elmo-global-flags): Renamed from
+       `elmo-global-flag-list' (All other related portions are changed).
+       (elmo-local-flags): New variable.
+       (elmo-local-flag-p): New function.
+       (elmo-global-flag-set-internal): Cause an error when flag is not
+       global.
+
+2004-10-04  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-util.el (elmo-concat-path): Treat empty path.
+
+2004-10-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-split.el (elmo-split-address-equal): Fixed typo (field =>
+       field-or-fields).
+       (elmo-split-address-match): Ditto.
+       (elmo-split-equal): Ditto.
+       (elmo-split-match): Ditto.
+
+2004-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-message-flags): Abolish optional argument `msgid'.
+       (elmo-generic-folder-append-messages): If src message exists but
+       has no flag, pass (read) for the FLAG argument of
+       `elmo-folder-append-buffer'. Otherwise, pass nil.
+
+       * elmo-split.el (elmo-split-subr): Likewise.
+
+       * elmo-pipe.el (elmo-message-flags): Abolish optional argument `msgid'.
+
+       * elmo-multi.el (elmo-message-flags): Ditto.
+
+       * elmo-filter.el (elmo-message-flags): Ditto.
+
+       * elmo.el (elmo-folder-append-buffer): Fix docstring.
+       (elmo-generic-folder-append-messages): If elmo-message-flags return nil,
+       pass (read) for the FLAG argument of elmo-folder-append-buffer.
+       
+2004-10-02  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-split.el (elmo-split-rule): Update comment.
+       (elmo-split-address-equal): Allow 2nd argument to be a list.
+       (elmo-split-address-match): Ditto.
+       (elmo-split-equal): Ditto.
+       (elmo-split-match): Ditto.
+
+2004-09-29  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-append-buffer): Fix docstring.
+       (elmo-folder-append-msgdb): Don't treat `read'.
+       (elmo-message-flags): Don't return `read'.
+
+       * elmo-dop.el (elmo-folder-set-read-delayed): Don't treat `read'.
+       (elmo-folder-unset-read-delayed): Ditto.
+
+       * elmo-imap4.el (elmo-imap4-flags-to-imap): Ditto.
+
+2004-09-26  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-imap4.el (elmo-folder-delete): Clear current-mailbox after
+       deletion.
+
+2004-09-24  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-mime.el (elmo-mime-display-as-is-internal): Insert decoded
+       header.
+
+2004-09-23  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-standard.el (modb-standard-load-entity): Don't bind inhibit-quit
+       here.
+       (elmo-msgdb-save): Bind inhibit-quit.
+       (modb-standard-message-entity): Ditto.
+
+2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-database.el: No need to require elmo-msgdb.
+
+2004-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-nmz.el (elmo-folder-list-subfolders): Use `directory-files'
+       instead of `elmo-list-subdirectories'.
+
+2004-09-20  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-nmz.el (elmo-folder-initialize): Enable "[" for access
+       group entry.
+       (elmo-folder-exists-p): "[" is empty.
+       (elmo-folder-list-subfolders): Define.
+       (elmo-folder-have-subfolder-p): Ditto.
+
+2004-09-19  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-flag.el (elmo-folder-delete): Update elmo-global-flag-list.
+
+2004-09-14  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-filter.el (elmo-folder-local-p): Define.
+
+2004-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (modb-standard-loaded-message-id): Return nil
+       when entity is garbaged.
+       (modb-standard-save-entity-1): Don't modify the original entity.
+
+2004-09-13  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-util.el (elmo-delete-if): Reduce loop strength in a while loop.
+
+2004-09-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-strict-folder-diff): Use
+       `elmo-folder-list-messages' instead of `elmo-msgdb-list-messages'.
+
+2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb.el (elmo-msgdb-flag-available-p): New generic function.
+       (elmo-msgdb-message-number): Ditto.
+       (elmo-msgdb-message-field): Ditto.
+
+       * modb-standard.el (modb-standard-economize-entity-size): New user
+       option.
+       (modb-standard-loaded-message-id): New inline function.
+       (modb-standard-load-entity): Use it.
+       (modb-standard-save-entity-1): If `modb-standard-economize-entity-size',
+       throw message-id string away.
+       (elmo-msgdb-flag-available-p): Define.
+       (elmo-msgdb-message-number): Ditto.
+       (elmo-msgdb-message-field): Ditto.
+
+       * modb-legacy.el (modb-legacy-flag-list): Fix typo
+       (suppoted -> supported).
+       (modb-legacy-supported-flag-p): Ditto.
+       (elmo-msgdb-set-flag): Ditto.
+       (elmo-msgdb-unset-flag): Ditto.
+       (elmo-msgdb-flag-available-p): Define.
+
+       * modb-entity.el (elmo-message-entity-handler): If CAR element of entity
+       is `t', treat it as legacy entity.
+       
+       * elmo.el (elmo-message-flag-available-p): New generic function.
+       (elmo-message-number): Ditto.
+       (elmo-message-field): Use `elmo-msgdb-message-field'.
+
+       * elmo-vars.el (elmo-preserved-flags): Added `forwarded'.
+
+       * elmo-pipe.el (elmo-message-flag-available-p): Define.
+       (elmo-message-number): Ditto.
+
+       * elmo-multi.el (elmo-message-number): Define.
+       (elmo-message-flag-available-p): Ditto.
+
+       * elmo-filter.el (elmo-message-flag-available-p): Define.
+       (elmo-message-number): Ditto.
+
+       * elmo-flag.el (elmo-flag-folder): Added slot `max-number'.
+       (elmo-folder-initialize): Load `max-number'.
+       (elmo-folder-commit): Save it.
+       (elmo-folder-list-global-flag-messages): Use `elmo-message-number'.
+       (elmo-global-flag-set-internal): Set up max-number slot.
+
+2004-09-12  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-version.el (elmo-version): Up to 2.11.31.
+
+2004-09-09  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Use
+       unibyte string of the current buffer for the argument of `md5'
+       (Reported by Yoichi NAKAYAMA <yoichi@geiin.org>).
+
+2004-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-legacy.el (modb-legacy-flag-list): New constant.
+       (modb-legacy-suppoted-flag-p): New internal function.
+       (elmo-msgdb-set-flag): Cause error when `flag' is not supported.
+       (elmo-msgdb-unset-flag): Ditto.
+
+2004-09-05  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-make-folder): Remove text properties for prefix.
+
+       * elmo-flag.el (elmo-folder-list-subfolders): Fetch flag names
+       from msgdb.
+
+2004-08-31  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-multi.el (elmo-folder-count-flags): Changed return value
+       (follow the API change).
+
+       * elmo-filter.el (elmo-folder-count-flags): Ditto.
+
+2004-08-31  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-standard.el (modb-standard-digest-flags): Abolish.
+       (elmo-msgdb-list-flagged): Use elmo-digest-flags instead.
+
+       * elmo-vars.el (elmo-digest-flags): New variable.
+       (elmo-preserved-flags): Moved from elmo-flag.el.
+
+       * elmo-imap4.el (elmo-imap4-flag-to-imap-search-key): New function.
+       (elmo-imap4-flag-to-imap-criteria): Ditto.
+       (elmo-imap4-folder-list-flagged): Use it.
+
+       * elmo-flag.el (elmo-preserved-flags): Moved to elmo-vars.el.
+
+       * elmo.el (elmo-folder-count-flags): Changed return value.
+
+       * elmo-flag.el (elmo-preserved-flags): New variable.
+       (elmo-get-global-flags): Use it.
+
+       * modb-standard.el (modb-standard-digest-flags): New variable.
+       (elmo-msgdb-list-flagged): Use it for `digest'; Add `uncached';
+       Changed behavior of `any'.
+
+       * elmo-imap4.el (elmo-imap4-flag-specs): Added keyword flags
+       which are defined the Internet draft
+       (draft-melnikov-imap-keywords-03.txt).
+       (elmo-imap4-flags-to-imap): New function.
+       (elmo-folder-append-buffer): Use it.
+
+       * modb-legacy.el (modb-legacy-answered-uncached-mark): Fixed typo
+       in the docstring.
+
+       * utf7.el (utf7-fragment-encode): Don't use narrow-to-region to
+       avoid the bug of Emacs 21.3.
+
+2004-08-31  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * utf7.el (utf7-utf-16-coding-system): Avoid error when the
+       function find-coding-system does not exist.
+
+2004-08-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-condition-parse-search-value): Fixed atom
+       parsing.
+
+2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-pop3.el (elmo-pop3-read-response): Refined the regexp for
+       response codes.
+
+2004-08-09  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-pop3.el (elmo-pop3-read-response): Treat response codes.
+       (elmo-network-close-session): Follow the changes in
+       `elmo-pop3-read-response'.
+       (elmo-pop3-auth-user): Ditto.
+       (elmo-pop3-auth-apop): Ditto.
+       (elmo-network-initialize-session): Ditto.
+       (elmo-network-authenticate-session): Ditto.
+       (elmo-network-setup-session): Ditto.
+       (elmo-folder-status): Ditto.
+       (elmo-message-fetch-plugged): Ditto.
+       (elmo-pop3-delete-msg): Ditto.
+
+2004-07-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-archive.el (elmo-archive-folder-append-buffer): Return nil
+       on failure.
+
+2004-07-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-set-work-buf): Define edebug spec and indent
+       style.
+       (elmo-bind-directory): Ditto.
+
+2004-07-12  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (elmo-folder-append-messages): Note on return value.
+       * elmo-archive.el (elmo-folder-append-messages): Don't return
+       message numbers which could not be appended.
+
+2004-07-11  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (elmo-message-fetch-threshold): Add nil to its range.
+
+2004-06-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-version.el (elmo-version): Up to 2.11.30.
+
+2004-06-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-synchronize): Add 5th optional argument
+       `mask'.
+
+       * elmo-pipe.el (elmo-folder-synchronize): Follow the API chagne.
+
+       * elmo-multi.el (elmo-folder-synchronize): Likewise.
+       (elmo-multi-split-numbers): Add elmo-folder object into each
+       element of return value at first.
+       (elmo-folder-delete-messages): Follow the above change.
+       (elmo-folder-detach-messages): Ditto.
+
+       * elmo-filter.el (elmo-folder-synchronize): Minimize message
+       number which is synchronized in target folder.
+
+2004-05-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-shimbun.el (elmo-shimbun-update-overview-folder-list):
+       Change default value to symbol `all'.
+       (elmo-map-message-fetch): Change condition to update overview
+       follow the above.
+
+2004-05-25  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-shimbun.el (elmo-map-message-fetch): Change default
+       behavior to update overview.
+       (elmo-shimbun-update-overview-folder-list): Note it.
+
+2004-05-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (modb-standard-message-entity): Avoid infinite
+       recursive call.
+
+2004-05-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-spam.el (elmo-spam-register-good-messages): Don't call
+       buffer-disable-undo, it is unnecessary.
+       (elmo-spam-register-good-messages): Ditto.
+
+       * elsp-bogofilter.el (elmo-spam-bogofilter-register-messages):
+       Ditto.
+
+       * elsp-sa.el (elmo-spam-spamassassin-register-messages): Ditto.
+
+2004-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-set-buffer-multibyte): Abolish.
+       (elmo-set-work-buf): Use set-buffer-multibyte instead of
+       elmo-set-buffer-multibyte.
+       (elmo-object-load): Ditto.
+       (elmo-save-buffer): Ditto.
+       (elmo-delete-char): Ditto.
+       (elmo-file-field-primitive-condition-match): Ditto.
+       (elmo-mime-string): Ditto.
+
+       * elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Ditto.
+       (elmo-archive-field-condition-match): Ditto.
+
+       * elmo-imap4.el (elmo-imap4-setup-send-buffer): Ditto.
+
+       * elmo-net.el (elmo-network-initialize-session-buffer): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-parse-overview-string): Ditto.
+       (elmo-nntp-msgdb-create-message): Ditto.
+
+       * elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.
+
+       * elmo.el (elmo-message-match-condition): Ditto.
+       (elmo-message-match-condition): Ditto.
+
+       * modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
+       Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.11.29.
+
+       * elmo-spam.el (elmo-spam-scheme): Add `header' as a candidate.
+       (elsp-header): New backend.
+
+       * elmo-util.el (elmo-decoded-field-body): New function.
+
+2004-05-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-version.el (elmo-version): Up to 2.11.28.
+
+2004-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-filter.el: Rewrite.
+
+       * elmo-version.el (elmo-version): Up to 2.11.27.
+
+2004-05-05  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-localdir.el (elmo-folder-expand-msgdb-path): Changed
+       msgdb path for the localdir folder with absolute path.
+
+       * utf7.el: Synch up with latest gnus/utf7.el;
+       Modified for latest Emacs.
+
+2004-05-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-shimbun.el (elmo-folder-initialize): Set a dummy when the
+       shimbun backend couldn't open.
+
+2004-04-25  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-pipe.el (elmo-message-folder): Call `elmo-message-folder' recursively.
+       (elmo-folder-diff): Avoid error `wrong-type-argument number-or-marker-p nil'
+       when a destination folder is a filter folder.
+
+2004-04-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-flags): Add optional argument `msgid'.
+       (elmo-generic-folder-append-messages): Call elmo-message-flags
+       with argument `msgid'.
+
+       * elmo-split.el (elmo-split-subr): Ditto.
+
+       * elmo-pipe.el (elmo-message-flags): Follow the API change.
+
+       * elmo-multi.el (elmo-message-flags): Ditto.
+
+2004-04-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder): Add new slot `flag-table'.
+       (elmo-folder-flag-table): New API.
+       (elmo-folder-close-flag-table): Ditto.
+       (elmo-folder-preserve-flags): New function.
+       (elmo-generic-folder-append-messages): Use
+       `elmo-folder-flag-table' and `elmo-folder-close-flag-table'.
+       Flag of a non-registered message, it sets to nil.
+       Does not set flag to flag-table.
+
+       * elmo-maildir.el (elmo-folder-append-buffer): Use
+       `elmo-folder-preserve-flags'.
+       (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
+       `elmo-folder-close-flag-table'.
+
+       * elmo-archive.el (elmo-folder-append-buffer): Fix interface.
+       (elmo-archive-folder-append-buffer): Use
+       `elmo-folder-preserve-flags'.
+
+       * elmo-cache.el (elmo-folder-append-buffer): Ditto.
+
+       * elmo-imap4.el (elmo-folder-append-buffer): Ditto.
+
+       * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
+       (elmo-folder-append-messages): Use `elmo-folder-flag-table' and
+       `elmo-folder-close-flag-table'.
+
+       * elmo-version.el (elmo-version): Up to 2.11.26.
+
+2004-04-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-vars.el (elmo-network-stream-type-alist): Add direct.
+
+       * elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Don't use
+       md5's 4th and 5th argument (non-existent in flim one).
+
+2004-04-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-split.el (elmo-split-subr): Flag of a non-registered
+       message, It sets to nil.
+
+2004-04-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-list-messages): Merge lists only if both
+       list is non-nil.
+
+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-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.
 
 
        * elmo-util.el (elmo-display-progress): New function.
        All other related modules are changed.
-