+2005-03-23 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * 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.