+2002-09-17 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-map.el (elmo-map-folder-list-unreads): Define default behavior.
+ (elmo-map-folder-list-answereds): New method.
+ (elmo-folder-list-unreads): Add :around qualifier.
+ (elmo-folder-list-importants): Ditto.
+ (elmo-folder-list-answereds): Ditto.
+
+2002-09-16 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-msgdb.el (elmo-msgdb-mark): New inline function.
+
+ * elmo-filter.el (elmo-folder-msgdb-create): Call target-folder's
+ method if msgdb is not required.
+ (elmo-filter-folder-list-importants): Don't treat global-mark.
+
+ * elmo.el (elmo-folder-list-importants): Ditto.
+
+ * elmo-net.el (elmo-folder-list-importants): Ditto.
+
+ * elmo-map.el (elmo-folder-list-importants): Ditto.
+
+ * elmo-msgdb.el (elmo-msgdb-seen-list): Use `elmo-msgdb-unread-marks'
+
+ * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Set answered mark.
+ (elmo-imap4-folder-list-any-plugged): New function.
+ (elmo-imap4-search-internal-primitive): Use it.
+
+ * elmo-filter.el (elmo-folder-check): Synchronize original folder
+ only when require-msgdb slot is non-nil.
+ (elmo-folder-close): Clear target folder's msgdb.
+
+2002-09-13 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-pop3.el (elmo-folder-msgdb-create): Follow the API change.
+ (elmo-pop3-msgdb-create-by-header): Ditto.
+ (elmo-pop3-msgdb-create-message): Ditto.
+
+ * elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.
+
+ * elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.
+
+ * elmo-nmz.el (elmo-folder-msgdb-create): Ditto.
+
+ * elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
+ (elmo-folder-msgdb-create): Ditto.
+ (elmo-nntp-folder-msgdb-create): Ditto.
+ (elmo-nntp-msgdb-create-by-header): Ditto.
+ (elmo-nntp-msgdb-create-message): Ditto.
+ (elmo-folder-list-unreads): Define.
+
+ * elmo-pipe.el (elmo-folder-msgdb-create): Ditto.
+ (elmo-folder-append-messages): Ditto.
+ (elmo-folder-list-unreads): Define.
+ (elmo-folder-list-importants): Ditto.
+ (elmo-folder-list-answereds): Ditto.
+
+ * elmo-net.el (elmo-folder-list-unreads): Define.
+ (elmo-folder-list-importants): Ditto.
+ (elmo-folder-list-answereds): Ditto.
+ (elmo-folder-list-answereds-plugged): Ditto.
+ (elmo-folder-msgdb-create): Follow the API change.
+ (elmo-folder-msgdb-create-unplugged): Ditto.
+ (elmo-folder-unmark-answered): Define.
+ (elmo-folder-mark-as-answered-unplugged): Ditto.
+ (elmo-folder-unmark-answered-unplugged): Ditto.
+
+ * elmo-msgdb.el (elmo-msgdb-new-mark): New user option.
+ (elmo-msgdb-unread-uncached-mark): Ditto.
+ (elmo-msgdb-unread-cached-mark): Ditto.
+ (elmo-msgdb-read-uncached-mark): Ditto.
+ (elmo-msgdb-answered-cached-mark): Ditto.
+ (elmo-msgdb-answered-uncached-mark): Ditto.
+ (elmo-msgdb-important-mark): Ditto.
+ (elmo-msgdb-set-mark): Rewrite.
+ (elmo-msgdb-count-marks): Rewrite.
+ (elmo-msgdb-mark-alist-set): Abolish.
+ (elmo-msgdb-seen-list): Removed argument `seen-marks'.
+ (elmo-msgdb-add-msgs-to-seen-list): Likewise.
+
+ * elmo-multi.el (elmo-folder-check): Call elmo-folder-synchronize.
+ (elmo-folder-close): Define.
+ (elmo-folder-msgdb-create): Follow the API change.
+ (elmo-folder-list-unreads): Rewrite.
+ (elmo-folder-mark-as-important): Ditto.
+ (elmo-folder-unmark-important): Ditto.
+ (elmo-folder-mark-as-read): Ditto.
+ (elmo-folder-unmark-read): Ditto.
+ (elmo-folder-mark-as-answered): Define.
+ (elmo-folder-unmark-answered): Ditto.
+
+ * elmo-localdir.el (elmo-folder-msgdb-create): Follow the API change.
+ (elmo-folder-append-messages): Ditto.
+
+ * elmo-mark.el (elmo-folder-msgdb-create): Ditto.
+
+ * elmo-map.el (elmo-folder-list-unreads): Ditto.
+ (elmo-folder-list-importants): Ditto.
+
+ * elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
+ (elmo-folder-append-messages): Ditto.
+
+ * elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Follow the API
+ change.
+ (elmo-folder-msgdb-create-plugged): Ditto.
+ (elmo-folder-append-messages): Ditto.
+ (elmo-folder-list-answereds-plugged): Define.
+ (elmo-imap4-search-internal-primitive): Add `mark' processing.
+ (elmo-folder-unmark-answered-plugged): Define.
+ (elmo-folder-mark-as-answered-plugged): Ditto.
+ (elmo-folder-search-requires-msgdb-p): Ditto.
+
+ * elmo-filter.el (elmo-filter-folder): Added new slot 'require-msgdb'.
+ (elmo-folder-initialize): Set it.
+ (elmo-folder-msgdb): Define.
+ (elmo-folder-check): Call elmo-folder-synchronize.
+ (elmo-folder-close): Define.
+ (elmo-folder-commit): Ditto.
+ (elmo-folder-msgdb-create): Rewrite.
+ (elmo-folder-list-unreads): Ditto.
+ (elmo-folder-list-importants): Ditto.
+ (elmo-folder-mark-as-read): Ditto.
+ (elmo-folder-unmark-read): Ditto.
+ (elmo-folder-mark-as-important): Ditto.
+ (elmo-folder-unmark-important): Ditto.
+ (elmo-folder-mark-as-answered): Define.
+ (elmo-folder-unmark-answered): Ditto.
+
+ * elmo-dop.el (elmo-dop-queue-merge-method-list): Added
+ elmo-folder-mark-as-answered, elmo-folder-unmark-answered.
+ (elmo-dop-queue-method-name-alist): Likewise.
+ (elmo-folder-mark-as-answered-dop): New inline function.
+ (elmo-folder-unmark-answered-dop): Ditto.
+ (elmo-folder-status-dop): Treat spool-length as 0 if it does not exist.
+
+ * elmo-archive.el (elmo-folder-append-messages): Follow the API change.
+ (elmo-folder-msgdb-create): Ditto.
+ (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
+ (elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
+ (elmo-archive-parse-mmdf): Ditto.
+
+ * elmo-cache.el (elmo-folder-msgdb-create): Ditto.
+ (elmo-folder-list-unreads-internal): Ditto.
+
+ * elmo.el (elmo-folder-msgdb): Define as generic function.
+ (elmo-folder-list-messages): Added argument `in-msgdb'.
+ (elmo-folder-list-unreads): Define as generic function.
+ (elmo-folder-list-importants): Ditto.
+ (elmo-folder-list-answereds): Ditto.
+ (elmo-folder-list-messages-with-global-mark): New function.
+ (elmo-folder-msgdb-create): Removed mark arguments.
+ (elmo-folder-unmark-answered): New generic function.
+ (elmo-folder-mark-as-answered): Ditto.
+ (elmo-folder-append-messages): Removed argunment `unread-marks'
+ (elmo-folder-list-unreads-internal): Abolish.
+ (elmo-folder-list-importants-internal): Ditto.
+ (elmo-folder-search-requires-msgdb-p): New generic function.
+ (elmo-folder-search-requires-msgdb-p-internal): New function.
+ (elmo-generic-folder-open): Call elmo-folder-msgdb instead of
+ elmo-msgdb-load.
+ (elmo-folder-search-fast): Added key 'mark'.
+ (elmo-generic-folder-append-messages): Use elmo-msgdb-unread-marks
+ instead of unread-marks argument.
+ (elmo-folder-move-messages): Removed argunment `unread-marks'
+ (elmo-folder-unmark-important): Define.
+ (elmo-folder-mark-as-important): Ditto.
+ (elmo-folder-unmark-read): Ditto.
+ (elmo-folder-mark-as-read): Ditto.
+ (elmo-folder-unmark-answered): Ditto.
+ (elmo-folder-mark-as-answered): Ditto.
+ (elmo-folder-replace-marks): Abolish.
+ (elmo-generic-folder-append-msgdb): Append msgdb before checking
+ duplicates.
+ (elmo-folder-synchronize): Removed mark arguments;
+ return crosspost only number.
+
+2002-09-12 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
+
+ * elmo-dop.el (elmo-dop-queue-flush): Remove unused argument.
+ Remove redundunt connectivity check.
+
+2002-09-08 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
+
+ * elmo-dop.el (elmo-dop-queue-flush): Perform plugged ones only so
+ as not to clear queue unexpectedly. (Ref. [wl:9778],[wl:10493])
+
+2002-09-03 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * pldap.el (ldap-decode-string): Return string as-is if
+ `ldap-coding-system' is nil.
+ (ldap-encode-string): Ditto.
+ (ldap-search-entries): Encode filter string with `ldap-encode-string'.
+ (ldap-default-host): Fixed docstring.
+
+2002-08-21 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-util.el (elmo-warning): Define as a macro which uses
+ `display-warning' if it is defined as a function.
+
+ * elmo-split.el (elmo-split-fetch-decoded-field): New function.
+ (elmo-split-equal): Use it.
+ (elmo-split-match): Ditto.
+ (elmo-split-message-entity): New buffer-local variable.
+ (elmo-split-subr): Set it.
+
+ * elmo-version.el (elmo-version): Up to 2.9.15.
+
+2002-08-18 Kenichi OKADA <okada@opaopa.org>
+
+ * elmo-imap4.el (elmo-network-initialize-session):
+ Check capability after starttls.
+
+2002-08-06 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-util.el (elmo-list-delete): Added optional argument
+ DELETE-FUNCTION.
+
+ * elmo-vars.el (elmo-imap4-default-mailbox): Abolished.
+
+ * elmo-util.el (elmo-warning): Ignore errors while recenter.
+
+ * elmo-msgdb.el (elmo-msgdb-do-each-entity): New macro.
+
+ * elmo-imap4.el (elmo-folder-initialize): Don't use
+ elmo-imap4-default-mailbox.
+
+2002-07-24 TAKAHASHI Kaoru <kaoru@kaisei.org>
+
+ * elmo-split.el (toplevel): Use `product-provide'.
+ (elmo-split): Checkdoc.
+
+2002-07-21 Tetsurou Okazaki <okazaki@be.to>
+
+ * elmo-imap4.el (elmo-imap4-debug, elmo-imap4-debug-1):
+ Split `elmo-imap4-debug' into the macro `elmo-imap4-debug' and
+ the function `elmo-imap4-debug-1'.
+
+2002-07-14 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * elmo-split.el (elmo-split): Moved to run hooks and to show
+ message from elmo-split-subr.
+ (elmo-split-subr): Follow the change above.
+
+ * elmo-split.el (elmo-split-subr): New function (renamed from
+ elmo-split-subr).
+ (elmo-split): Changed to call elmo-split-subr by element of
+ elmo-split-folder.
+ (elmo-split-folder): Changed customization type to choice.
+
+2002-07-12 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * elmo-split.el (elmo-split-and): Fixed condition.
+
+2002-07-12 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-split.el: New file.
+ (elmo-split): Fixed logic.
+ Display "Test:" instead of "Folder:" when reharsal.
+
+ * elmo-imap4.el (elmo-folder-append-buffer): Set flag as empty
+ explicitly.
+
+ * elmo-version.el (elmo-version): Up to 2.9.14.
+
+ * elmo-util.el (elmo-expand-newtext): New function (renamed from
+ wl-expand-newtext).
+
+2002-06-10 Kenichi Sato <ksato@sonycom.com>
+
+ * elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Fix for
+ message with no message-id field.
+
+2002-05-20 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-version.el (elmo-version): Up to 2.9.13.
+
+ * elmo-dop.el (elmo-folder-status-dop): Fix.
+
+2002-05-19 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-util.el (elmo-disk-usage): Return 0 if invalid file attribute.
+
+ * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Avoid
+ changing default value of default-mime-charset.
+ (elmo-msgdb-create-overview-from-buffer): Remove TAB character.
+
+ * elmo-imap4.el (elmo-folder-open): Fixed NO response check.
+
+ * elmo-dop.el (elmo-dop-queue-merge-method-list): New variable.
+ (elmo-dop-queue-merge): Use elmo-dop-queue-merge-method-list
+ instead of elmo-dop-queue-method-name-alist to check merging queue.
+ (elmo-folder-delete-messages-dop): Delete from queue if negative
+ message number.
+ (elmo-folder-append-buffer-dop-delayed): Treat as success if queue
+ file is already removed.
+
+2002-05-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * elmo-vars.el: Bind colon keywords for old Emacsen.
+
+2002-05-10 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * elmo-msgdb.el (elmo-msgdb-create-overview-from-buffer): Protect
+ against non-exsisting charset.
+
+2002-05-09 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-util.el (elmo-mime-string): Eliminate needless binding;
+ Use eword-decode-and-unfold-unstructured-field-body.
+
+ * elmo-msgdb.el (elmo-msgdb-make-entity): New function.
+ (elmo-msgdb-create-overview-from-buffer): Use document charset if
+ exists to decode raw subject string.
+ (toplevel): Require 'mime.
+
+ * elmo-version.el (elmo-version): Up to 2.9.12.
+
+2002-05-02 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-msgdb.el (elmo-msgdb-get-mark): Fix docstring.
+ (elmo-msgdb-set-mark): Ditto.
+
+ * elmo-version.el (elmo-version): Up to 2.9.11.
+
+2002-05-01 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-util.el (elmo-delete-match-files): New function.
+
+ * elmo-localdir.el (elmo-folder-delete): Use elmo-delete-match-files
+ instead of elmo-delete-directory.
+
+ * elmo-shimbun.el (elmo-shimbun-get-headers): Bind
+ elmo-hash-minimun-size as 63.
+
+ * elmo-multi.el (elmo-multi-folder-diff): Use elmo-diff-new if
+ elmo-diff-unread is nil.
+
+ * elmo-imap4.el (elmo-folder-open): Fix.
+
+ * elmo.el (elmo-message-mark): Rewrite.
+ (elmo-message-field): Ditto.
+ (elmo-message-set-mark): Ditto.
+ (elmo-folder-replace-marks): New function.
+ (elmo-generic-folder-append-msgdb): Removed third argument for
+ elmo-msgdb-append.
+ (elmo-folder-synchronize): Use elmo-msgdb-seen-list.
+ (elmo-msgdb-load): New implementation.
+
+ * elmo-vars.el (elmo-use-overview-hashtb): Removed.
+
+ * elmo-util.el (elmo-list-insert): New implementation.
+
+ * elmo-multi.el (elmo-multi-folder-append-msgdb): Removed third
+ argument for elmo-msgdb-append.
+
+
+ * elmo-msgdb.el (elmo-load-msgdb): New function.
+ (elmo-make-msgdb): Ditto.
+ (elmo-msgdb-get-index): New inline function.
+ (elmo-msgdb-set-index): Ditto.
+ (elmo-msgdb-get-entity-hashtb): Ditto.
+ (elmo-msgdb-get-mark-hashtb): Ditto.
+ (elmo-msgdb-get-mark): Ditto.
+ (elmo-msgdb-set-mark): Ditto.
+ (elmo-msgdb-count-marks): Ditto.
+ (elmo-msgdb-get-number): Ditto.
+ (elmo-msgdb-get-field): Ditto.
+ (elmo-msgdb-seen-list): Ditto.
+ (elmo-msgdb-mark-alist-set): Renamed from elmo-msgdb-mark-set.
+ (elmo-msgdb-delete-msgs): Follow the changes above.
+ (elmo-msgdb-overview-get-entity): Ditto.
+ (elmo-msgdb-add-msgs-to-seen-list): Ditto.
+ (elmo-msgdb-clear-index): Renamed from elmo-msgdb-clear-overview-hastb
+ and rewritten.
+ (elmo-msgdb-make-index): Likewise.
+ (elmo-msgdb-append): Removed third argument.
+ (elmo-msgdb-clear): Clear index as nil.
+ (elmo-folder-set-info-hashtb): Removed.
+ (elmo-folder-set-info-max-by-numdb): Ditto.
+ (elmo-folder-info-make-hashtb): Ditto.
+
+ * elmo-localdir.el (elmo-folder-pack-numbers): Use elmo-make-msgdb.
+
+ * elmo-map.el (elmo-folder-pack-number): Ditto.
+
+2002-04-30 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-version.el (elmo-version): Up to 2.9.10.
+
+ * elmo-util.el (elmo-get-hash-val): Check the 1st argument is string.
+
+ * elmo-msgdb.el (elmo-msgdb-get-parent-entity): New inline function.
+
+2002-04-26 Kenichi OKADA <okada@opaopa.org>
+
+ * elmo-utils.el (elmo-make-directory): Add option.
+ Default file mode is 700.
+
+2002-04-17 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * elmo-shimbun.el (elmo-folder-local-p): Defined.
+
+2002-04-15 Yuuichi Teranishi <teranisi@gohome.org>
+
+ * elmo-shimbun.el (elmo-shimbun-entity-to-header): Decode by
+ mime-charset.
+
+ * elmo-imap4.el (elmo-imap4-search-internal-primitive): Added "larger"
+ and "smaller".
+
+2002-04-14 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * elmo-shimbun.el (elomo-shimbun-folder): Added entity-hash slot.
+ (elmo-shimbun-folder-entity-hash): New function.
+ (elmo-shimbun-folder-shimbun-header): Ditto.
+ (elmo-shimbun-entity-to-header): Ditto.
+ (elmo-shimbun-msgdb-to-headers): Removed.
+ (elmo-shimbun-folder-setup): Ditto.
+ (elmo-shimbun-folder-header-hash-setup): Don't use x-shimbun-id
+ for hash key.
+ (elmo-shimbun-get-headers): Set new headers only to slot. Don't
+ call `elmo-shimbun-folder-header-hash-setup' if headers is nil.
+ Removed useless local bind.
+ (elmo-folder-open-internal): Don't call
+ `elmo-shimbun-folder-setup'.
+ (elmo-folder-close-internal): Clear entity-hash slot.
+ (elmo-folder-clear): Ditto.
+ (elmo-shimbun-msgdb-create-entity): Use
+ `elmo-shimbun-folder-shimbun-header'.
+ (elmo-map-message-fetch): Ditto.
+ (elmo-shimbun-update-overview): Use overview entity instead of
+ shimbun header to lookup id by references.
+ (elmo-map-folder-list-message-locations): Use not only headers but
+ also overviews to list locations.
+
+2002-04-09 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
+
+ * elmo-net.el (elmo-folder-exists-p): If unplugged, guessed by
+ msgdb path.
+
+ * elmo-pop3.el (elmo-folder-exists-p): Ditto.
+
2002-04-08 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
* elmo-util.el (elmo-read-search-condition-internal): Give default