* elmo-util.el (elmo-collect-separators): New function.
[elisp/wanderlust.git] / elmo / ChangeLog
index ea8d644..9fe9b7c 100644 (file)
@@ -1,3 +1,868 @@
+2005-06-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-collect-separators): New function.
+       (elmo-collect-separators-internal): Ditto.
+       (elmo-collect-trail-separators): Ditto.
+       (elmo-parse-separated-tokens): Ditto.
+       (elmo-parse-separated-tokens-internal): Ditto.
+       (elmo-quote-syntactical-element): Ditto.
+
+       * elmo-pop3.el (elmo-pop3-folder-name-syntax): New constant.
+       (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
+
+       * elmo-nntp.el (elmo-nntp-folder-name-syntax): New constant.
+       (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
+       (elmo-nntp-folder-list-subfolders): Quote a user name.
+
+       * elmo-net.el (elmo-net-folder-name-syntax): New constant.
+       (elmo-net-parse-network): Abolish.
+       (elmo-net-folder-set-parameters): New function.
+       (elmo-folder-initialize): Follow the above change.
+
+       * elmo-imap4.el (elmo-imap4-folder-name-syntax): New constant.
+       (elmo-folder-initialize): Rewrite by `elmo-parse-separated-tokens'.
+       (elmo-folder-list-subfolders): Use
+       `elmo-quote-syntactical-element' instead of
+       `elmo-net-format-quoted' to quote mailbox and user name.
+
+2005-06-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-token-valid-p): New function.
+       (elmo-parse-token): Add optional argument `requirement'.
+       (elmo-parse-prefixed-element): Likewise.
+
+       * elmo-net.el (elmo-net-quote-chars): Renamed from
+       `elmo-net-quote-chars-regexp'.
+       (elmo-net-format-quoted): Add optional argument `extra-chars'.
+
+       * elmo-pop3.el (elmo-folder-initialize): Fix the token separators
+       by info document. Check token `uidl' is started an alphabet.
+
+       * elmo-nntp.el (elmo-folder-initialize): Fix the token separators
+       by info document. Check token `user' is started an alphabet.
+
+       * elmo-imap4.el (elmo-folder-initialize): Ditto.
+       (elmo-folder-list-subfolders): Quote user.
+
+2005-06-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-quoted-specials-list): New constant.
+       (elmo-quoted-token): New function.
+
+       * elmo-net.el (elmo-net-quote-chars-regexp): New constant.
+       (elmo-net-format-quoted): New function.
+       (elmo-net-parse-network): Ditto.
+       (elmo-folder-initialize): Use it.
+
+       * elmo-nntp.el (elmo-folder-initialize): Use
+       `elmo-net-parse-network' to parse network specification instead of
+       `elmo-folder-initialize#elmo-net'.
+
+       * elmo-pop3.el (elmo-folder-initialize): Ditto.
+
+       * elmo-imap4.el (elmo-folder-initialize): Ditto.
+       (elmo-folder-list-subfolders): Quote folder name by
+       `elmo-net-format-quoted'.
+
+2005-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-nntp.el (elmo-nntp-use-server-search-p): New function.
+       (elmo-folder-search): Use it.
+
+2005-04-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-standard.el (modb-standard-loaded-message-id): Use
+       `elmo-msgdb-message-entity-field'.
+
+2005-04-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-object-load): Call `elmo-set-auto-coding'
+       without filename.
+
+2005-04-11  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * elmo-util.el (elmo-set-auto-coding): New function.
+       (elmo-object-load): Use it.
+
+2005-04-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-date.el (elmo-time-less-p): Renamed from `elmo-time<'.
+       (elmo-time<): Define as alias of `elmo-time-less-p'.
+       (elmo-time-to-datevec): New function.
+
+       * elmo-date.el (elmo-time-to-days): New function.
+
+2005-04-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-map-recursive): Call `function' if `object'
+       is not cons cell.
+
+2005-04-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-entity.el (modb-entity-encode-string-recursive): Fixed
+       parenthesis.
+
+       * elmo-util.el (elmo-map-recursive): New function.
+
+       * modb-entity.el (modb-entity-decode-string-recursive): Use it.
+       (modb-entity-encode-string-recursive): Ditto.
+
+2005-04-05  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-maildir.el (elmo-maildir-sequence-number): New function.
+       (elmo-maildir-make-unique-string): Throw Emacs 18 away.
+       (elmo-maildir-list-location): Use `elmo-maildir-sequence-number' to
+       compare sequence number when last modified time is nil.
+
+2005-04-03  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-maildir.el (elmo-folder-msgdb-create): Don't sort by date.
+
+       * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
+
+2005-04-01  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-maildir.el (elmo-maildir-list-location): Sort by last
+       modification time of the file.
+
+2005-03-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-condition-optimize): Discriminated against
+       preserved fields, extra fields and the other weight.
+
+2005-03-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb-entity.el (initialize-instance): Define.
+       (modb-entity-handler-mime-charset): New internal function.
+       (modb-standard-entity-set-field): Use it.
+       (elmo-msgdb-message-entity-field): Ditto.
+       (elmo-msgdb-message-entity-field): Ditto.
+
+       * modb.el (elmo-msgdb-match-condition): Rewrite with
+       `elmo-condition-match'.
+       (elmo-msgdb-match-condition-primitive): New function.
+
+       * modb-entity.el (elmo-msgdb-message-match-condition): Removed
+       arguments `flags' and `numbers'.
+       (elmo-msgdb-match-condition-primitive): Abolished (merged to
+       `elmo-msgdb-message-match-condition').
+       (modb-buffer-entity-handler): New class.
+
+       * elmo.el (elmo-folder-search): Optimize condition to use
+       `elmo-condition-optimize'.
+       (elmo-message-buffer-match-condition): New function.
+       (elmo-message-match-condition): Use
+       `elmo-message-buffer-match-condition' instead of
+       `elmo-buffer-field-condition-match'.
+
+       * elmo-util.el (elmo-condition-match): New function.
+       (elmo-condition-optimize): Ditto.
+       (elmo-buffer-field-primitive-condition-match): Abolish.
+       (elmo-buffer-field-condition-match): Ditto.
+
+       * elmo-archive.el (elmo-archive-field-condition-match): Use
+       `elmo-message-buffer-match-condition' instead of
+       `elmo-buffer-field-condition-match'.
+
+2005-03-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-flag.el (elmo-global-flags-initialize): Check the
+       existence of the flag directory.
+
+2005-03-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-access.el (elmo-folder-initialize): Call
+       `elmo-multi-connect-signals'.
+
+       * elmo-pipe.el (elmo-folder-close): Define.
+
+       * elmo-multi.el (elmo-folder-close): Call `elmo-folder-close' with
+       children folders.
+
+       * elmo-filter.el (elmo-folder-close): Call `elmo-folder-close'
+       with target folder.
+
+       * modb-entity.el (elmo-msgdb-message-entity-set-number): Return
+       `number'.
+
+       * elmo-multi.el (elmo-message-entity): Don't use return value of
+       `elmo-message-entity-set-number'.
+
+2005-03-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb.el (modb-generic): Added slot `mime-charset'.
+
+       * modb-standard.el (modb-standard): Added slot `overview-handler'.
+       (modb-standard-save-entity-1): Use `modb-entity-handler-equal-p'
+       and `modb-entity-handler-dump-parameters'.
+       (modb-standard-default-entity-handler): Abolish.
+       (elmo-msgdb-message-entity-handler): Save created handler by
+       instance slot.
+
+       * modb-entity.el (modb-entity-handler): Added slot `mime-charset'.
+       (modb-entity-handler-list-parameters): New method.
+       (modb-entity-handler-equal-p): New function.
+       (modb-entity-handler-dump-parameters): Ditto.
+       (modb-entity-parse-address-string): Encode return value.
+       (modb-entity-make-address-string): Decode argument value.
+       (modb-entity-decode-string-recursive): New function.
+       (modb-entity-encode-string-recursive): Ditto.
+       (modb-standard-entity-normalizer): Set to encode field value.
+       (modb-standard-entity-specializer): Follow the above change.
+       (modb-standard-entity-set-field): Bind `elmo-mime-charset' by
+       mime-charset of handler.
+       (elmo-msgdb-message-entity-field): Ditto.
+       (elmo-msgdb-copy-message-entity): Fixed reference to internal
+       structure.
+       (modb-entity-make-mailing-list-info-string): Decode `ml-name'.
+
+       * elmo.el (elmo-folder): Added slot `mime-charset'.
+       (elmo-make-folder): Added argument `mime-charset'.
+       (elmo-folder-msgdb-load): Call `elmo-load-msgdb' with
+       `mime-charest'.
+
+       * elmo-msgdb.el (elmo-load-msgdb): Added argument `mime-charset'.
+       (elmo-make-msgdb): Likewise.
+
+       * elmo-internal.el (elmo-internal-folder-initialize): Call
+       `luna-make-entity' with :mime-charset parameter.
+
+2005-03-21  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Decode
+       encoded words in `from' and `subject' field.
+
+2005-03-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb.el (elmo-msgdb-message-field): Add argument `type'.
+       (elmo-msgdb-match-condition): Get handler from entity instead of
+       msgdb.
+
+       * modb-standard.el (modb-standard-economize-entity-size): Abolish.
+       (modb-standard-load-entity): Treat new file format.
+       (modb-standard-save-entity-1): Save as new file format.
+       (modb-standard-save-entity): Split messages into section here.
+       (elmo-msgdb-message-field): Follow the API change.
+       (modb-standard-default-entity-handler): New internal variable.
+       (elmo-msgdb-message-entity-handler): Define.
+
+       * modb-entity.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
+       to `elmo-vars.el'.
+       (modb-entity-field-extractor-alist): New user option.
+       (elmo-msgdb-message-entity-field): Removed argument `decode' and
+       added argument `type'.
+       (elmo-msgdb-copy-message-entity): Add optional argument
+       `make-handler'.
+       (modb-set-field-converter): New function.
+       (modb-convert-field-value): Ditto.
+       (modb-entity-string-decoder): Ditto.
+       (modb-entity-string-encoder): Ditto.
+       (modb-entity-parse-date-string): Ditto.
+       (modb-entity-make-date-string): Ditto.
+       (modb-entity-mime-decoder): Ditto.
+       (modb-entity-mime-encoder): Ditto.
+       (modb-entity-address-list-decoder): Ditto.
+       (modb-entity-address-list-encoder): Ditto.
+       (modb-entity-parse-address-string): Ditto.
+       (modb-entity-make-address-string): Ditto.
+       (modb-entity-create-field-indices): Ditto.
+       (modb-legacy-entity-field-slots): New constant.
+       (modb-legacy-entity-field-indices): Ditto.
+       (modb-legacy-entity-normalizer): New variable.
+       (modb-legacy-entity-specializer): Ditto.
+       (modb-legacy-entity-field-index): New macro.
+       (modb-legacy-entity-set-field): New function.
+       (modb-legacy-make-message-entity): Rewrite.
+       (elmo-msgdb-create-message-entity-from-buffer): Use
+       `elmo-msgdb-get-references-from-buffer'. Use
+       `elmo-decoded-field-body' instead of `elmo-unfold-field-body'.
+       Use `modb-legacy-entity-set-field' instead of
+       `elmo-msgdb-message-entity-set-field'.
+       (elmo-msgdb-message-entity-field): Rewrite.
+       (elmo-msgdb-message-entity-set-field): Ditto.
+       (elmo-msgdb-copy-message-entity): Make new entity by
+       `make-handler' if it specified.
+       (elmo-msgdb-message-match-condition): Define a method of
+       `modb-entity-handler' and follow the API change.
+       (modb-standard-entity-handler): New class.
+       (modb-entity-extract-ml-info-from-x-sequence): New function.
+       (modb-entity-extract-ml-info-from-subject): Ditto.
+       (modb-entity-extract-ml-info-from-return-path): Ditto.
+       (modb-entity-extract-ml-info-from-delivered-to): Ditto.
+       (modb-entity-extract-ml-info-from-mailing-list): Ditto.
+       (modb-entity-extract-mailing-list-info): Ditto.
+       (modb-entity-extract-mailing-list-info-functions): New variable.
+
+       * elmo.el (elmo-message-field): Add optional argument `type'.
+
+       * elmo-vars.el (elmo-msgdb-prefer-in-reply-to-for-parent): Moved
+       from `modb-entity.el'.
+
+       * elmo-util.el (elmo-object-load): Decode by coding-system from
+       `set-auto-coding-function'.
+       (elmo-object-save): Use `detect-mime-charset-region' and add
+       coding cookie if encode.
+       (elmo-msgdb-get-references-from-buffer): New function.
+       (elmo-parse-addresses): Ditto (renamed from `wl-parse-addresses').
+
+       * elmo-spam.el (elmo-spam-message-spam-p): Follow the API change.
+
+       * elmo-shimbun.el (elmo-shimbun-parse-time-string): Removed.
+       (elmo-shimbun-entity-to-header): Use `shimbun-create-header'
+       instead of `shimbun-make-header' and follow the API change.
+       (elmo-shimbun-update-overview): Follow the API change.
+       (elmo-map-folder-list-message-locations): Ditto.
+
+       * elmo-pipe.el (elmo-message-field): Ditto.
+
+       * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
+       Ditto.
+
+       * elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
+
+       * elmo-multi.el (elmo-message-field): Ditto.
+
+       * elmo-msgdb.el (elmo-message-entity-field): Ditto.
+       (elmo-msgdb-sort-by-date): Ditto.
+       (elmo-msgdb-flag-table): Use `elmo-msgdb-message-field' instead of
+       `elmo-message-entity-field'.
+       (elmo-msgdb-overview-entity-get-from-no-decode): Follow the API
+       change.
+       (elmo-msgdb-overview-entity-get-from): Ditto.
+       (elmo-msgdb-overview-entity-get-subject): Ditto.
+       (elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
+       (elmo-msgdb-overview-entity-get-date): Ditto.
+       (elmo-msgdb-overview-entity-get-to): Ditto.
+       (elmo-msgdb-overview-entity-get-cc): Ditto.
+
+       * elmo-mime.el (elmo-message-mime-entity): Ditto.
+       (elmo-mime-collect-message/partial-pieces): Ditto.
+
+       * elmo-filter.el (elmo-message-field): Ditto.
+
+       * elmo-date.el (elmo-datevec-to-time): New function.
+       (elmo-time-parse-date-string): Ditto.
+       (elmo-time-make-date-string): Ditto.
+       (elmo-time<): Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.15.1.
+
+2005-03-14  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-flag.el (elmo-global-flags-initialize): Don't include
+       member of elmo-local-flags.
+
+2005-03-13  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-version.el (elmo-version): Up to 2.15.0.
+
+2005-03-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-folder-synchronize): Ignore `mask' when
+       `ignore-msgdb' is non-nil.
+
+2005-03-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-condition-in-msgdb-p-internal): Removed.
+       (elmo-condition-in-msgdb-p): Ditto.
+       (elmo-file-field-primitive-condition-match): Ditto.
+       (elmo-file-field-condition-match): Ditto.
+
+       * elmo-localdir.el (elmo-localdir-field-condition-match): Ditto.
+
+2005-03-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-flag.el (elmo-folder-list-subfolders): Don't list from
+       subdirectories here.
+       (elmo-global-flags-initialize): New function.
+
+       * elmo.el (toplevel): Added autoload setting for
+       `elmo-global-flags-initialize'.
+
+2005-03-07  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (message-number-changed): Define new signal.
+       * elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Emit
+       message-number-changed signal.
+       * elmo-localdir.el (elmo-folder-pack-numbers): Ditto.
+       * elmo-map.el (elmo-folder-pack-numbers): Ditto.
+       Respect `elmo-pack-number-check-strict'.
+
+2005-03-06  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-signal.el (elmo-connect-signal): Document.
+       (elmo-emit-signal): Ditto.
+       (elmo-emit-signal): It should pass source argument to filter and
+       handler, not slot-source.
+
+2005-03-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * modb.el (elmo-msgdb-update-entity): New API and define generic
+       implement.
+
+       * modb-standard.el (elmo-msgdb-update-entity): Define.
+
+       * modb-entity.el (elmo-msgdb-message-entity-update-fields): New
+       API and define generic implement.
+
+       * elmo.el (update-overview): New singnal.
+
+       * elmo-shimbun.el (elmo-shimbun-update-overview): Rewrite use
+       `elmo-msgdb-update-entity' and emit signal `update-overview'.
+       (elmo-message-entity-parent): Define.
+
+       * elmo-pipe.el (elmo-pipe-connect-signals): Connect to signal
+       `update-overview'.
+
+       * elmo-multi.el (elmo-multi-connect-signals): Ditto.
+
+       * elmo-filter.el (elmo-filter-connect-signals): Ditto.
+
+2005-02-27  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-synchronize): Sort the return value of
+       `elmo-list-diff'.
+
+       * elmo-util.el (elmo-list-diff): Don't care the order of the returned
+       list.
+
+2005-02-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-util.el (elmo-with-enable-multibyte): Don't bind
+       `default-enable-multibyte-characters'.
+       (elmo-object-load): Use `with-temp-buffer' instead of
+       `elmo-set-work-buf'.
+       (elmo-object-save): Ditto.
+       (elmo-mime-string): Use `elmo-with-enable-multibyte' instead of
+       `elmo-set-work-buf'.
+       (elmo-decoded-field-body): Ditto.
+
+       * elmo-shimbun.el (elmo-shimbun-entity-to-header): Ditto.
+
+       * elmo-sendlog.el (elmo-sendlog-folder-list-message-locations):
+       Use `with-temp-buffer' instead of `elmo-set-work-buf'.
+
+       * elmo-version.el (elmo-version): Up to 2.13.3.
+
+2005-02-27  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-util.el (elmo-list-diff): Fix the last change.
+       Reverse order of result lists.
+
+2005-02-26  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-standard.el (elmo-msgdb-set-flag): Use
+       `elmo-list-diff-nonsortable' instead of `elmo-list-diff'.
+       (elmo-msgdb-unset-flag): Ditto.
+
+       * elmo.el (elmo-strict-folder-diff): Don't use third argument of
+       `elmo-list-diff'.
+
+       * elmo-util.el (elmo-list-diff): Rewrite.
+       (elmo-list-diff-nonsortable): New function.
+
+2005-02-26  Tetsurou Okazaki  <okazaki@be.to>
+
+       * elmo-util.el (elmo-multibyte-buffer-name): Renamed from
+       `elmo-multibypte-buffer-name'.  All referers are updated.
+
+2005-02-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-mime.el (elmo-mime-entity-reassembled-p): New method.
+       (elmo-mime-entity-fragment-p): New function.
+       (mime-elmo-buffer-entity): Added slot `reassembled'.
+       (elmo-message-mime-entity): Added 4th argument `reassemble'.
+       (elmo-message-mime-entity-internal): New function (renamed from
+       `elmo-message-mime-entity').
+       (elmo-mime-inherit-field-list-from-enclosed): New constant.
+       (elmo-mime-make-reassembled-mime-entity): New function.
+       (elmo-message-reassembled-mime-entity): Ditto.
+       (elmo-mime-collect-message/partial-pieces): Ditto.
+
+2005-02-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (elmo-message-fetch-string): Disable multibyte.
+
+       * elmo-util.el (elmo-multibypte-buffer-name): New constant.
+       (elmo-with-enable-multibyte): New macro.
+
+       * modb-entity.el (elmo-msgdb-get-decoded-cache): Use it.
+
+2005-02-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-filter.el (elmo-filter-add-flag-count): Removed unused
+       argument `number'.
+       (elmo-filter-connect-signals): Follow the above change.
+
+2005-02-19  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * modb-standard.el (elmo-msgdb-unset-flag): Bind inhibit-quit.
+
+       * elmo-maildir.el (elmo-folder-append-messages): Fix the problem
+       that only the first flag is used.
+
+2005-02-17  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
+
+       * elmo-shimbun.el (elmo-folder-exists-p): Use `shimbun-group-p' 
+       if available.
+
+2005-02-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-signal.el: New file.
+
+       * elmo.el (toplevel): Require elmo-signal.
+       (flag-changing, flag-changed, cache-changed): New signal.
+       (elmo-folder): Remove slog `handlers'.
+       (elmo-message-set-cached): Use `elmo-emit-signal' instead of
+       `elmo-folder-notify-event'.
+       (elmo-folder-set-flag): Likewise. Emit signal `flag-changing'.
+       (elmo-folder-unset-flag): Ditto.
+       (elmo-event-handler): Abolish.
+       (elmo-event-handler-flag-changed): Ditto.
+       (elmo-event-handler-cache-changed): Ditto.
+       (elmo-folder-add-handler): Ditto.
+       (elmo-folder-remove-handler): Ditto.
+       (elmo-folder-notify-event): Ditto.
+
+       * elmo-pipe.el (toplevel): Require elmo-signal.
+       (elmo-folder-initialize): Call `elmo-pipe-connect-signals'.
+       (elmo-pipe-connect-signals): New function.
+       (elmo-message-fetch): Does not call `elmo-folder-notify-event'.
+       (elmo-folder-set-flag): Ditto.
+       (elmo-folder-unset-flag): Ditto.
+       (elmo-message-set-cached): Ditto.
+
+       * elmo-multi.el (toplevel): Require elmo-signal.
+       (elmo-folder-initialize): Call `elmo-multi-connect-signals'.
+       (elmo-multi-connect-signals): New function.
+       (elmo-multi-map-numbers): Ditto.
+       (elmo-message-set-cached): Does not call `elmo-folder-notify-event'.
+       (elmo-message-fetch): Ditto.
+       (elmo-folder-set-flag): Ditto.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-filter.el (toplevel): Require elmo-signal.
+       (elmo-folder-initialize): Call `elmo-filter-connect-signals'.
+       (elmo-filter-connect-signals): New function.
+       (elmo-filter-add-flag-count): Ditto.
+       (elmo-message-fetch): Does not call
+       `elmo-filter-folder-countup-message-flags' and
+       `elmo-folder-notify-event'.
+       (elmo-message-set-cached): Ditto.
+       (elmo-folder-set-flag): Ditto.
+       (elmo-folder-unset-flag): Ditto.
+
+       * elmo-version.el (elmo-version): Up to 2.13.2.
+
+2005-02-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-imap4.el (elmo-imap4-flags-to-imap): Preserve argument
+       `flags'.
+
+2005-02-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-filter.el (elmo-message-set-cached): Call
+       `elmo-folder-notify-event' with event `cache-changed'.
+
+       * elmo-multi.el (elmo-message-set-cached): Ditto.
+
+       * elmo-pipe.el (elmo-message-set-cached): Ditto.
+
+2005-02-16  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo.el (elmo-folder-encache): Abolish.
+
+2005-02-16  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-dop.el (elmo-folder-delete-messages-dop): Delete 'Append' queue.
+       (elmo-folder-next-message-number-dop): Return appropriate negative
+       integer.
+
+2005-02-15  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * elmo-dop.el (elmo-dop-queue-flush): Remove files in dop spool on
+       clearing pending operations.
+       (elmo-folder-next-message-number-dop): Return appropriate negative
+       integer.
+
+2005-02-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo.el (toplevel): Added autoload setting for `md5'.
+       (elmo-msgdb-path-encode-threshold): New user option.
+       (elmo-folder-msgdb-path): Encode msgdb path if its length is
+       longer than `elmo-msgdb-path-encode-threshold'.
+
+       * elmo-flag.el (elmo-global-mark-migrate): Use
+       `elmo-folder-expand-msgdb-path' instead of
+       `elmo-folder-msgdb-path'.
+
+2005-02-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-multi.el (elmo-multi-folder-diff): Fixed problem when the
+       element of the difference is nil.
+
+2005-02-11  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-maildir.el (elmo-maildir-separator): Added some OS types
+       to the check logic of file systems which are weak in colon character.
+
+2005-02-11  Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+       * elmo-maildir.el (elmo-maildir-move-file): Simplify.
+
+2005-02-10  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo-maildir.el (elmo-maildir-move-file): New function.
+       (elmo-folder-append-buffer): Use it.
+       (elmo-folder-append-messages): Ditto.
+       (These changes are based on Ron Isaacson's patch [wl-en: 01205])
+
+       * 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.
+       (These 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