2020-08-20  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Change non-ASCII text files's coding-system to UTF-8

	* elmo-archive.el: Likewisw.

	* elmo-vars.el: Likewise.

2020-07-13  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-number-list-to-number-set): New function.
	(elmo-number-set-to-number-list): Refactored.

	* elmo-imap4.el (elmo-imap4-make-number-set-list): Use
	elmo-number-list-to-number-set.

2020-06-24  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-access.el (elmo-folder-commit): Remove redundant lambda
	expression.

	* elmo-msgdb.el (elmo-multiple-fields-body-list): Build regexp out
	of loop.

	* elmo-util.el (elmo-multiple-field-body): Minor refactorings.
	(elmo-filename-replace-chars): Renamed to
	elmo-filename-replace-chars-regexp.
	(elmo-replace-string-as-filename): User adjusted.

	* pldap.el (ldap/field-body): Build regexp out of loop.

2020-06-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el: Require timezone.el.
	(elmo-replace-char-in-string): New inline function.

	* elmo-date.el: Require elmo-util.el,
	(elmo-date-get-datevec): Use elmo-replace-char-in-string.

	* elmo-file.el (elmo-file-msgdb-create-entity)
	(elmo-map-message-fetch): Use elmo-replace-char-in-string.

	* elmo-localnews.el (elmo-folder-initialize)
	(elmo-localdir-folder-name): Use elmo-replace-char-in-string.

	* elmo-maildir.el (elmo-maildir-adjust-separator): Use
	elmo-replace-char-in-string.

	* elmo-search.el (elmo-search-replace-single-quotes): Use
	elmo-replace-char-in-string.

	* elmo-shimbun.el: Require lemo-date.el.

	* elmo.el (elmo-message-file-name): Update docstring to define
	current behavior as spec.

	* modb-entity.el
	(elmo-msgdb-create-message-entity-from-header): Use
	elmo-replace-char-in-string.

2020-06-17  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Obsolete elmo-replace-in-string.  Use replace-regexp-in-string.

	* elmo-date.el (elmo-replace-in-string, elmo-date-get-datevec):
	Likewise.

	* elmo-file.el (elmo-map-message-fetch)
	(elmo-file-msgdb-create-entity): Likewise.

	* elmo-localnews.el (elmo-localdir-folder-name)
	(elmo-folder-initialize): Likewise.

	* elmo-maildir.el (elmo-maildir-adjust-separator): Likewise.

	* elmo-nntp.el (elmo-nntp-get-folders-info): Likewise.

	* elmo-util.el (elmo-concat-path): Likewise.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-header):
	Likewise.

2020-06-14  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Replace char-to-string by list for concat function's arguments.
	That is slightly faster on my environment.

	* elmo-maildir.el (elmo-maildir-set-mark): Likewise.

	* elmo-nntp.el (elmo-nntp-folder-list-subfolders): Likewise.

	* elmo-util.el (elmo-expand-newtext): Likewise.

2020-06-06  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Assume Emacs 24.5 or later.

	* elmo-util.el (elmo-define-error): Obsolete.

	* elmo.el: Use define-error directly instead of elmo-define-error.

2020-06-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* acap.el (acap-parse-value-list)
	(acap-parse-value-or-return-metalist)
	(acap-parse-return-metalist, acap-parse-return-attr-list): Minor
	refactorings.

	* elmo-imap4.el (elmo-imap4-parse-address-list)
	(elmo-imap4-parse-header-list, elmo-imap4-parse-fetch): Ditto.

	* slp.el (slp-parse-attrs): Ditto.

2020-06-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-vars.el (elmo-database-dl-module)
	(elmo-database-dl-handle, elmo-use-database): Obsolete.

2020-06-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-progress-notify): Define as inline function.

	* elsp-bogofilter.el (elmo-spam-bogofilter-arguments): Likewise.

2020-06-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-date.el (elmo-time-make-imap-date-string): Argument is now
	optional.

	* elmo-imap4.el (elmo-folder-append-buffer): Call
	elmo-time-make-imap-date-string without argument.

2020-06-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Use lexical binding in all *.el files.

2020-05-30  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-parse): Do not pass nil to store-match-data
	function.  It is undocumented.

2020-05-30  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el: Adjust dependencies.
	(elmo-msgdb-insert-file-header)
	(elmo-file-cache-load, elmo-object-load): Use
	insert-file-contents-literally directly.
	(elmo-parse-token): Use string-to-list directly.
	(elmo-parse-token, elmo-collect-separators): Do not use
	char-list-to-string.

	* elmo.el: Remove XEmacs related codes.

2020-05-29  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-assoc-ignore-case): New function.

2020-05-29  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Remove cl dependencies except where lexical-let is used.

	* acap.el: Likewise.

	* elmo-archive.el: Likewise.

	* elmo-date.el: Likewise.

	* elmo-dop.el: Likewise.

	* elmo-file.el: Likewise.

	* elmo-imap4.el: Likewise.

	* elmo-localdir.el: Likewise.

	* elmo-maildir.el: Likewise.

	* elmo-map.el: Likewise.

	* elmo-mime.el: Likewise.

	* elmo-msgdb.el: Likewise.

	* elmo-multi.el: Likewise.

	* elmo-net.el: Likewise.

	* elmo-nntp.el: Likewise.

	* elmo-pop3.el: Likewise.

	* elmo-search.el: Likewise.

	* elmo-shimbun.el: Likewise.

	* elmo-signal.el: Likewise.

	* elmo-spam.el: Likewise.

	* elmo-split.el: Likewise.

	* elmo-util.el: Likewise.

	* elmo.el: Likewise.

	* modb-entity.el: Likewise.

	* modb-legacy.el: Likewise.

	* modb-standard.el: Likewise.

	* modb.el: Likewise.

	* pldap.el: Likewise.

	* slp.el: Likewise.

2020-05-28  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Remove Meadow support.

	* elmo-util.el (elmo-list-subdirectories-1): Likewise..

	* elmo-vars.el (elmo-have-link-count): Likewise.

2020-05-28  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Adjust dependencies.

	* elmo-archive.el: Likewise.

	* elmo-cache.el: Likewise.

	* elmo-flag.el: Likewise.

	* elmo-maildir.el: Likewise.

	* elmo-mime.el: Likewise.

	* elmo-msgdb.el: Likewise.
	(elmo-message-entity-set-field)
	(elmo-message-entity-field, elmo-message-entity-set-number)
	(elmo-message-entity-number): Moved to modb.el.

	* elmo-null.el: Likewise.

	* elmo-passwd.el: Likewise.

	* elmo-sendlog.el: Likewise.

	* elmo-split.el: Likewise.

	* elmo-util.el: Likewise.

	* elmo-vars.el: Remove code for old platforms.

	* modb-entity.el: Likewise.

	* modb-standard.el: Likewise.

	* modb.el: Adjust dependencies.
	(elmo-message-entity-set-field)
	(elmo-message-entity-field, elmo-message-entity-set-number)
	(elmo-message-entity-number): Moved from elmo-msgdb.el.

2020-05-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Obsolete aliased functions.  Use bundled function with Emacs or
	alies target preferably.

	* elmo-date.el: Likewise.

	* elmo-imap4.el: Likewise.

	* elmo-msgdb.el: Likewise.

	* elmo-nntp.el: Likewise.

	* elmo-passwd.el: Likewise.

	* elmo-pop3.el: Likewise.

	* elmo-util.el: Likewise.

	* elmo-vars.el: Likewise.

	* elmo.el: Likewise.

	* modb-entity.el: Likewise.

2020-05-24  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Drop old platforms support.  Now supported Emacsen are version 24
	and later.

	* elmo-archive.el: Assuse Emacs 24 or later.

	* elmo-date.el: Likewise.

	* elmo-imap4.el: Likewise.

	* elmo-net.el: Likewise.

	* elmo-pop3.el: Likewise.

	* elmo-util.el: Likewise.

	* elmo-vars.el: Likewise.

	* elmo-version.el: Likewise.

	* elmo.el: Likewise.

	* modb-entity.el: Likewise.

	* pldap.el: Likewise.

	* elmo-database.el: Removed.

	* utf7.el: Removed.

2019-02-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-net.el (elmo-open-socks-ssl-stream)
	(elmo-open-gnutls-stream): Define only when built-in GnuTLS
	library is available.

2019-02-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-net.el (elmo-open-socks-ssl-stream): Renamed from
	elmo-socks-ssl-open-network-stream and slightly simplified.

	* elmo-vars.el (elmo-network-stream-type-alist): Likewise.

2019-02-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Do not call open-gnutls-stream directly.

	* elmo-net.el (elmo-open-gnutls-stream): New function.

	* elmo-vars.el (elmo-network-stream-type-alist): Use it instead of
	open-gnutls-stream.

2019-02-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Support SSL / STARTTLS connection via SOCKS.  Built-in GnuTLS
	library is required.  Each connection's folder syntax is "!!socks"
	and "!!!socks" respectively.  Connection type's symbol is
	"socks-ssl" and "socks-starttls".

	* elmo-net.el (elmo-socks-ssl-open-network-stream): New function

	* elmo-vars.el (elmo-network-stream-type-alist): Add entry for SSL
	/ STARTTLS connection via SOCKS.
	(elmo-network-starttls-stream-type-list): New variable.

	* elmo-imap4.el (elmo-network-initialize-session): Use STARTTLS
	connection when connection type member of
	elmo-network-starttls-stream-type-list.

	* elmo-pop3.el (elmo-network-initialize-session): Likewise.

	* elmo-nntp.el (elmo-network-initialize-session): Likewise.

2019-01-13  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-send-command-enqueue)
	(elmo-imap4-send-command)
	(elmo-imap4-session-process-send-literal): Expand cl-etypecase and
	cl-ecase for old platforms.

2019-01-07  David Maus  <dmaus@dmaus.name>

	* elmo-imap4.el (elmo-imap4-search-generate-or): Remove trailing
	whitespace from OR condition.
	(elmo-imap4-search-generate-or): Use `group' token to create
	search condition in parenthesis.

2019-01-06  David Maus  <dmaus@dmaus.name>

	* elmo-imap4.el (elmo-imap4-send-command): Make sure that function
	runs in session process buffer.

2019-01-05  David Maus  <dmaus@dmaus.name>

	* elmo-imap4.el (elmo-imap4-send-command-enqueue): New
	function. Create a queue of strings and buffers to be sent to
	server.
	(elmo-imap4-send-command-build-queue): New function. Entry point
	for `elmo-imap4-send-command-enqueue'.
	(elmo-imap4-session-process-send-literal): New function. Send
	literal command token.
	(elmo-imap4-send-command): Rewritten to use new functions.

2018-08-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-search.el (elmo-search-engine-do-search): Discard STDERR
	output from process.
	(elmo-search-grep-target): Return null-device name only when no
	target file is found.

2018-06-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-archive.el (elmo-intern-soft): Fix misuse of `eq' for string comparison.

2018-05-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-rss.el (elmo-rss-download): Do not pass HTTP header to
	xml-parse-region.

2018-03-31  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Use built-in GnuTLS library for STARTTLS cnnection on
	IMAP/NNTP/POP folders.

	* elmo-net.el (elmo-network-session-starttls-negotiate): New
	function.

	* elmo-vars.el (elmo-network-use-gnutls): New variable.
	(elmo-network-stream-type-alist): Use open-network-stream for
	STARTTLS connection with built-in GnuTLS library.

	* elmo-imap4.el (elmo-network-initialize-session): Use
	elmo-network-session-starttls-negotiate instead of
	starttls-negotiate.

	* elmo-nntp.el (elmo-network-initialize-session): Likewise.

	* elmo-pop3.el (elmo-network-initialize-session): Likewise.

2018-03-12  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-net.el (elmo-open-network-stream): Use
	set-process-query-on-exit-flag function if available
	(Cf. [wl-en:6542]).

2018-02-11  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Fix the case NNTP folder without newsgroup (for access group).

	* elmo-nntp.el (elmo-nntp-list-folders-get-cache): Fix the case
	GROUP is nil.
	(elmo-nntp-folder-list-subfolders): Fix the case FOLDER's group is
	"".

2018-02-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-vars.el: Prune functions provided temporarily to avoid
	compile warnings in the end.

2017-12-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo.el (elmo-folder-confirm-appends): Display message when
	there are implicitly hidden messages.  Minor refactoring.

2017-12-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-cache.el (elmo-cache-folder-list-message-locations): Treat
	hashed filename as cache file.

	* elmo-util.el (elmo-cache-to-msgid): Abolished.
	(elmo-cache-get-path): Optional arguments are abolished.
	(elmo-msgid-to-cache): Use hash function when filename is too
	long. See docstring of below new varaibles.

	* elmo-vars.el (elmo-msgid-to-cache-max-length)
	(elmo-msgid-to-cache-algorithm): New variables.

2017-12-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-time-expire): Use internal functions if
	available.

2017-10-19  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-list-folders-get-cache): Fix wrong hit
	when cache contains the same folder name with GROUP argument.
	Minor refactoring.

2017-09-30  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-get-hash-val, elmo-clear-hash-val): Assume
	unintern function is available.
	(elmo-unintern): Abolished.  Call unintern directly.

	* elmo-imap4.el (elmo-imap4-parse-response): Likewise.

2017-09-21  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-killed-list-length)
	(elmo-msgdb-max-of-killed): Refactored.

2017-06-28  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-passwd.el (elmo-passwd-alist-ignore-smtp-port): Fix typo in
	the docstring.

2017-03-25  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-list-to-string): Refactored.

2017-03-25  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-cache-get-path): Remove redundant
	expand-file-name.

2017-03-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Now elmo can use auth-source for managing password.  If you want
	to use auth-source, write "(setq elmo-passwd-storage-type
	'auth-source)" in your ~/.wl.  There are some limitation.  Please
	see the document.

	* elmo-vars.el (elmo-passwd-alist-file-name)
	(elmo-passwd-life-time): Moved to elmo-passwd.el.
	(elmo-passwd-storage-type, elmo-passwd-storage): New variable.

	* elmo-util.el (elmo-passwd-alist, elmo-passwd-alist-load):
	Abolished.
	(elmo-passwd-storage): New function.
	(elmo-passwd-alist-clear, elmo-passwd-alist-save, elmo-get-passwd)
	(elmo-remove-passwd): Use elmo-passwd.el.

	* elmo-passwd.el: New file.

	* elmo-net.el (elmo-network-session-password-key): Make list as key.

2017-03-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-search.el (top): Add entry for rgrep (recursive grep) in
	elmo-search-engine-alist.
	(elmo-search-rgrep-target): New function.
	Cf. https://github.com/wanderlust/wanderlust/issues/140

2016-12-18  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* elmo-file.el (elmo-file-detect-content-type): rewrite LET
	followed by SETQ.

2016-12-13  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-entity.el (elmo-msgdb-create-message-entity-from-header):
	[modb-standard-entity-handler] Fix the case that
	elmo-msgdb-extra-fields is nil.
	Cf. https://github.com/wanderlust/wanderlust/issues/135

2016-11-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-entity.el (modb-standard-collect-field-values-from-header)
	(modb-standard-get-references-for-entity)
	(modb-standard-get-message-id-for-entity)
	(modb-standard-set-field-name-cache): New functions.
	(modb-standard-reserved-fields): New constant.
	(modb-standard-field-name-cache): New variable.
	(elmo-msgdb-create-message-entity-from-header):
	[modb-standard-entity-handler] Use them.  Improve performance.

2016-11-20  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* elmo-util.el (elmo-list-insert): improve performance.
	(elmo-get-file-string): simplify.

2016-11-14  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* elmo-util.el (elmo-get-passwd): fix previous change to this
	routine, where passwords were only appended to non-empty alists.

2016-11-09  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* elmo-util.el (elmo-get-passwd): while new password was appended
	the old ones were becaming a garbage without being erased.

2016-10-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-object-save): Fix error on XEmacs.

2016-09-22  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-date.el (elmo-match-substring): Abolished.

2016-09-07  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* elmo-vars.el: Cosmetic change.

2016-08-27  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-get-passwd): Call read-passwd directly.
	(elmo-read-passwd): Abolished.
	Cf. https://github.com/wanderlust/wanderlust/pull/130

2016-08-24  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* elmo-util.el (elmo-get-passwd): Use read-passwd for getting
	user's password; remove stars argument.
	(elmo-get-passwd): remove argument stars in call to
	elmo-get-passwd.
	(elmo-read-char-exclusive): Removed, no longer needed.
	(elmo-clear-string): added to use more efficient clear-string, if
	present.
	(elmo-remove-passwd, elmo-passwd-alist-clear): Use
	elmo-clear-passwd.

2016-08-21  Piotr Trojanek  <piotr.trojanek@gmail.com>

	* elmo-util.el: Extra blank line removed.

2016-07-28  Juliusz Chroboczek  <jch@pps.univ-paris-diderot.fr>

	RSS folder now uses cahce to enable searching text.  Please remove
	files under ~/.elmo/rss and reload messages before search.
	* elmo-rss.el (elmo-message-use-cache-p): Newly implemented
	method.

2016-07-20  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-location-load): Strip leading unneeded
	elements generated by elmo-location-map-save.
	(elmo-msgdb-location-save): Cosmetic change.

	* elmo-map.el (elmo-location-map-save): Do not save max-number.
	No one use it and elmo-location-map-load function assumes it is
	not contained.

2016-06-30  Piotr Trojanek <piotr.trojanek@gmail.com>

	* elmo-util.el (elmo-read-number): Fix typo.

2016-06-22  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-standard.el (modb-standard-save-entity-1): Fix the problem
	that large unneeded file is created instead of deleting.
	(modb-standard-cleanup-stale-entities): Detect entity files
	strictly.  Minor refactoring.
	(modb-standard-save-entity): Fix the case that
	modb-standard-divide-number is nil and the case that msgdb is
	unmodified.

2016-04-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-localdir.el (elmo-folder-pack-numbers): Return t.  Report
	progress.

	* elmo-map.el (elmo-folder-pack-numbers): Likewise.

2016-03-30  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-date.el (elmo-time-less-p, elmo-time<): Use time-less-p if
	available.

2016-03-30  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo.el (elmo-folder-synchronize): Revert the last change.

	* elmo-util.el (elmo-list-diff): Revert optional argment and
	progress report.  Check equality only when before sorting.

2016-03-16  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-list-diff): New optional argument MESSAGE is
	available.  use `eq' instead of `='.

	* elmo.el (elmo-folder-synchronize): Add MESSAGE argument for
	elmo-list-diff.

2016-03-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo.el (elmo-strict-folder-diff): Do not sort argmuent for
	elmo-list-diff.

2016-03-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-list-diff): Check equality of lists before
	calculating diff.  Report progress.

2016-03-13  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-delete-cr-get-content-type)
	(elmo-msgdb-get-last-message-id): Abolished.
	(elmo-get-message-id-from-header): Remove redundant let().

2016-03-11  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-folder-list-subfolders)
	(elmo-nntp-list-folders-get-cache): Refactored.  Fix
	mis-generating cache and mis-checking for cache usability.

2016-03-09  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-catchup-msgdb): Assume MAX-NUMBER
	argument is always non-nil.

2016-03-09  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-catchup-msgdb, elmo-nntp-send-buffer)
	(elmo-nntp-groups-read-response): Refactored.

	* elmo-pop3.el (elmo-pop3-read-response)
	(elmo-pop3-parse-list-response, elmo-pop3-next-result-arrived-p):
	Refactored.
	(elmo-pop3-parse-uidl-response): Refactored.  Reduce changing
	current buffer.

2016-03-09  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-read-response): Don't let-bind
	case-fold-search.

	* elmo-pop3.el (elmo-pop3-read-response): Likewise.

2016-03-09  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-session-process-send-string):
	Concatenate strings before sending.

	* elmo-nntp.el (elmo-nntp-send-command, elmo-nntp-send-data-line):
	Likewise.

2016-03-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-cache-expire-by-size): Fix docstring.

	* elmo-vars.el (elmo-cache-expire-default-size): Likewise.

2016-03-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-read-number): New function.
	(elmo-read-float-value-from-minibuffer): Abolished.
	(elmo-cache-expire-by-size, elmo-cache-expire-by-age): Use
	elmo-read-number.

	* elmo.el (elmo-folder-confirm-appends): Use elmo-read-number.

2016-03-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-cache-expire): Use DEF parameter for
	completing-read.

2015-11-19  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-rss.el: Fix the example of combination with pipe folder.

2015-10-03  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-capability-search-keys-alist): New
	variable.
	(elmo-imap4-search-internal): Adjust elmo-imap4-search-keys
	according to elmo-imap4-capability-search-keys-alist and server's
	capabilities.

2015-09-09  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-network-authenticate-session): Fix the case
	sasl-read-passphrase is used before set.
	Cf. https://github.com/wanderlust/wanderlust/issues/106

2015-09-06  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-folder-append-buffer): Fix the case appended
	message number may lost when server dose not support APEENDUID
	response code.

2015-08-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-multi.el (elmo-multi-real-folder-number)
	(elmo-multi-map-numbers, elmo-multi-split-numbers)
	(elmo-folder-length, elmo-folder-append-messages-multi-*): Minor
	refactoring.

2015-08-10  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-multi.el (elmo-multi-max-number): New variable.
	(elmo-multi-check-divide-number): New macro.
	(elmo-folder-list-messages, elmo-folder-list-flagged): Check
	whether elmo-multi-divide-number is large enough.

2015-05-26  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-message-fetch-field): Fix typo.

2015-05-17  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-rss.el (elmo-rss-format-message): Use USEC of current-time
	instead of PSEC.  PSEC is available on only Emacs 24.3 and later
	and possible PSEC value's range is narrower than USEC.

2015-05-17  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-rss.el (elmo-rss-msgdb-create-entity): Use elmo-no-from and
	elmo-no-subject.

2015-05-17  Juliusz Chroboczek  <jch@pps.univ-paris-diderot.fr>

	* elmo-rss.el: New file.

2015-05-15  Erik Hetzner  <egh@e6h.org>

	* elmo-dop.el (elmo-dop-queue-flush): Move messages to
	`elmo-lost+found-folder' when clearing queue, do not delete them.

2014-11-29  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-search-generate-vector): Provide
	correct search key for header searches.

2014-11-20  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-string): Fix typo.

2014-11-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-read-response): Use elmo-delete-cr.
	(elmo-nntp-groups-read-response): Use elmo-delete-cr-buffer.

	* elmo-pop3.el (elmo-pop3-read-response): Use elmo-delete-cr.

2014-11-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-next-result-arrived-p): Simplified.

2014-11-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Remove '1' argument for forward-char, backward-char and
	forward-line.  Use following-char and preceding-char preferredly.

	* acap.el (acap-parse-greeting, acap-parse-string)
	(acap-parse-quoted, acap-parse-value-list)
	(acap-parse-value-or-return-metalist)
	(acap-parse-return-metalist, acap-parse-return-attr-list):
	Likewise.

	* elmo-archive.el (elmo-archive-list-folder-subr)
	(elmo-archive-parse-mmdf): Likewise.

	* elmo-imap4.el (elmo-imap4-forward, elmo-imap4-parse-string)
	(elmo-imap4-parse-address, elmo-imap4-parse-address-list)
	(elmo-imap4-parse-response, elmo-imap4-parse-bye)
	(elmo-imap4-parse-resp-text-code, elmo-imap4-parse-header-list)
	(elmo-imap4-parse-fetch-body-section, elmo-imap4-parse-fetch)
	(elmo-imap4-parse-status, elmo-imap4-parse-acl)
	(elmo-imap4-parse-envelope, elmo-imap4-parse-string-list)
	(elmo-imap4-parse-body-extension, elmo-imap4-parse-body-ext)
	(elmo-imap4-parse-body): Likewise.

	* elmo-nntp.el (elmo-nntp-folder-list-subfolders)
	(elmo-nntp-parse-xhdr-response, elmo-nntp-get-folders-info)
	(elmo-nntp-msgdb-create-message): Likewise.

	* elmo-pop3.el (elmo-pop3-msgdb-create-message): Likewise.

	* elmo-search.el (elmo-search-parse-filename-list): Likewise.

	* elmo-util.el (elmo-msgdb-insert-file-header)
	(elmo-parse-addresses): Likewise.

	* pldap.el (ldap-search-basic): Likewise.

	* slp.el (slp-parse-srvs, slp-parse-srvtypes): Likewise.

2014-11-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-archive.el (elmo-archive-list-folder-subr): Remove
	redundant code.

	* elmo-dop.el (elmo-folder-next-message-number-dop): Likewise.

	* elmo-localdir.el (elmo-localdir-list-subr): Likewise.

	* elmo.el (elmo-folder-next-message-number)
	(elmo-strict-folder-diff): Likewise.

2014-11-08  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-pop3.el (elmo-pop3-auth-apop, elmo-folder-status): Fix typo
	of regexp.

2014-11-08  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo.el (elmo-folder-search): Accept NUMBERS argument is set to
	t, that indicates to select messages for interactive folder
	search.  Default method selects visible messages from msgdb.

	* elmo-archive.el (elmo-folder-search): Handle the case that
	NUMBERS is t (select visible messages from msgdb).

	* elmo-filter.el (elmo-folder-search): Likewise (select visible
	messages from msgdb).

	* elmo-imap4.el (elmo-imap4-search-internal): Likewise (treated as
	nil).

	* elmo-multi.el (elmo-folder-search): Likewise (passed through to
	child folders).

	* elmo-nntp.el (elmo-nntp-retrieve-field): Likewise (select
	visible messages from msgdb).  Do not filter result.
	(elmo-nntp-search-primitive): Filter result by FROM-MSGS.

2014-11-08  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-read-response): Refined. Improve
	performance.

	* elmo-pop3.el (elmo-pop3-read-response): Ditto.

2014-11-06  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-elist): Fix typo.

	* elmo-split.el (elmo-split-subr): Fix typo.

2014-11-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-search-generate-vector): Remove unused
	let-binding.  Use elmo-list-diff instead of elmo-list-difference.

	* elmo-nntp.el (elmo-nntp-search-primitive): Use elmo-list-diff
	for "first" search.

	* elmo-util.el (elmo-list-difference): Removed.  Not used anymore.

2014-11-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-multi.el (elmo-folder-search): Rewritten.  Avoid redundant
	use of elmo-folder-list-messages.

2014-11-05  Erik Hetzner <egh@e6h.org>

	* elmo.el (elmo-folder-synchronize): Avoid redundant use of
	elmo-folder-list-messages.
	Cf https://github.com/wanderlust/wanderlust/pull/79

2014-10-19  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-search-keys): New variable. Known IMAP
	search keys.
	(elmo-imap4-search-generate-vector): Use new variable instead of
	local list.

2014-10-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-strict-flag-availability-check): New
	variable. Perform a strict check for flag availability in set to a
	non-nil value.
	(elmo-imap4-session-flag-available-p): Use new variable and
	conditionally perform a strict check for a flag's availability.

2014-10-15 Erik Hetzner <egh@e6h.org>

	* elmo-search.el: Add support for mu, notmuch search.

2014-09-06  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-localdir.el (elmo-folder-pack-numbers): Use `/=' instead of
	not+eq for number comparison.

	* elmo-nntp.el (elmo-nntp-parse-overview-string): Likewise.

	* elmo-util.el (elmo-msgdb-insert-file-header): Likewise.

	* elmo.el (elmo-folder-synchronize): Likewise.

2014-08-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-parse-overview-string): Do not use
	temporary buffer.  Improve performance.

2014-07-12  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-string): Assume first argument STRING is
	string.

2014-07-09  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-string): Optional arguments FROM and TO are
	available.  Use substring-no-properties if available.

	* elmo.el (elmo-make-folder): Use elmo-string with optional
	arguments.

2014-07-07  Juliusz Chroboczek  <jch@pps.univ-paris-diderot.fr>

	* elmo-pipe.el (elmo-folder-initialize): Protect against
	overwriting match data.

2014-06-11  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-date.el (elmo-time-less-p): Use car-less-than-car.

	* elmo-mime.el (elmo-message-reassembled-mime-entity): Likewise.

	* elmo-util.el (elmo-list-diff): Likewise.

2014-06-03  Juliusz Chroboczek  <jch@pps.univ-paris-diderot.fr>

	* elmo-imap4.el (elmo-imap4-parse-resp-text-code): Fix parsing of
	IMAP ALERT replies.

2014-06-01  David Maus  <dmaus@ictsoc.de>

	* elmo-maildir.el (elmo-map-message-fetch): Signal error if
	maildir message file is not found.

2014-05-30  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Fix for https://github.com/wanderlust/wanderlust/issues/59

	* elmo-imap4.el (elmo-imap4-search-generate-vector): Call
	elmo-imap4-flag-to-imap-criteria instead of
	elmo-imap4-flag-to-imap-search-key.

	* elmo-nntp.el (elmo-nntp-use-server-search-p): Return nil for
	flag search.

2014-05-30  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-get-parent-entity): Add the comment
	for old msgdb.

	* elmo-multi.el (elmo-message-entity-parent): Likewise.

	* elmo-shimbun.el (elmo-message-entity-parent): Likewise.

2014-05-24  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-msgdb.el (elmo-message-entity-field): Revert the last change.
	(elmo-msgdb-get-parent-entity): Check type of references field's
	value.
	(elmo-msgdb-overview-entity-get-references): Revert the last change.

	* elmo-multi.el (elmo-message-entity-parent): Check type of
	references field's value.

	* elmo-shimbun.el (elmo-message-entity-parent): Likewise.

2014-05-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-pop3.el (elmo-pop3-read-body): Fix trying to access buffer
	local variable from another buffer.
	Cf. https://github.com/wanderlust/wanderlust/commit/f1b56519a392a6087f5209afae52fb3324e65490#commitcomment-6424927

2014-05-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-setup-send-buffer): Fix typo.  Bind
	inhibit-eol-conversion to nil before code conversion.
	Cf. https://github.com/wanderlust/wanderlust/commit/88b9596f95b106dc04aba77e890a97252e32b516#commitcomment-6425013

2014-05-20  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-folder-append-buffer): Fix even more
	trailing and leading whitespace.

2014-05-20  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-folder-append-buffer): Remove trailing space
	from command particle.

2014-05-19  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-send-command): Don't use
	string-empty-p to check for empty string.

2014-05-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-search-build-full-command): Simplified.
	(elmo-imap4-search-generate-vector)
	(elmo-imap4-search-generate-and, elmo-imap4-search-generate-or):
	Remove trailing spaces.

2014-05-18  David Maus  <dmaus@x60s.major-mode.org>

	* elmo-imap4.el (elmo-create-folder-plugged): Remove leading and
	trainling space from IMAP command particle.
	(elmo-imap4-session-select-mailbox)
	(elmo-imap4-session-unselect-mailbox, elmo-imap4-clear-login)
	(elmo-imap4-server-diff-async, elmo-imap4-folder-status-plugged)
	(elmo-folder-list-subfolders, elmo-folder-delete)
	(elmo-folder-rename-internal, elmo-imap4-copy-messages)
	(elmo-folder-delete-messages-plugged)
	(elmo-imap4-folder-diff-plugged, elmo-folder-open)
	(elmo-folder-create-plugged, elmo-folder-append-buffer)
	(elmo-folder-next-message-number-plugged)
	(elmo-message-fetch-field): Dto.
	(elmo-imap4-send-command): Use a list to build final command
	string.

2014-05-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-session-process-send-string): New
	function. Send string to session process, facoted out from
	`elmo-imap4-send-string`.
	(elmo-imap4-send-string): Use factord out function.
	(elmo-imap4-send-command): Use new function to send to process.

2014-05-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (with-elmo-imap4-session-process-buffer): New
	macro. Execute BODY in a sessions' process buffer.
	(elmo-imap4-command-tag): Use new macro.
	(elmo-imap4-session-wait-response-maybe): New function. Wait for
	server response when in parsing state.
	(elmo-imap4-send-command): Use new function.

2014-05-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-command-tag): New function. Return IMAP command tag.
	(elmo-imap4-send-command): Use new function to obtain command tag.

2014-05-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-send-command): Refactor sending of literals, add logging.

2014-05-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-list-diff): Simplified.  Sort each element of
	return value.

	* elmo.el (elmo-folder-synchronize): Do not sort elmo-list-diff's result.

2014-05-17  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Keep multiple parent Message-IDs in msgdb.  Msgdb structure has
	slightly changed.  Older wl can load new msgdb without any error,
	but will fail to search parent message.  New wl can load old msgdb
	but new feature is available only for newly added messages.

	* elmo-msgdb.el (elmo-message-entity-field): Return list of
	Message-IDs for reference field.
	(elmo-msgdb-get-parent-entity): Assume references field's value is
	list.
	(elmo-msgdb-overview-entity-get-references): Return list of
	Message-IDs.

	* elmo-multi.el (elmo-message-entity-parent): Assume references
	field's value is list.

	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Make
	references field as list of Message-IDs.

	* elmo-shimbun.el (elmo-message-entity-parent): Assume references
	field's value is list.

	* elmo-util.el (elmo-msgdb-get-message-ids-from-header): New function.
	(elmo-msgdb-get-references-from-header): Use it.  Return list of
	Message-IDs.

2014-05-17  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	Improve performance of uniquifying large list of sortable numbers.

	* elmo-util.el (elmo-sort-uniq-number-list): New function.
	(elmo-union): Use it.

	* elmo-filter.el (elmo-folder-list-messages): Likewise.

	* elmo-imap4.el (elmo-folder-merge-flagged): Likewise.

	* elmo-nntp.el (elmo-nntp-search-internal): Likewise.

	* elmo.el (elmo-folder-list-messages, elmo-folder-merge-flagged):
	Likewise.

	* modb-standard.el (modb-standard-cleanup-stale-entities):
	Likewise.

2014-05-16  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-max-of-list): Fix the last change for the
	case argument is nil.

2014-05-16  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-max-of-list, elmo-cache-get-path-subr)
	(elmo-warning): Explicit function's symbols.

2014-05-16  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-max-of-list): Refactored.

2014-05-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-with-enable-multibyte): Fix the last change.
	Check result was interpreted reversely.  Reported by Juliusz
	Chroboczek.

2014-04-28  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-pop3.el (elmo-pop3-read-contents): Do not bind
	case-fold-search.  search-forward with minimal query.

2014-04-28  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-read-response, elmo-nntp-read-contents)
	(elmo-nntp-read-body): Improve performance.
	Cf. https://github.com/wanderlust/wanderlust/commit/cf49dc988b79e2bb219fd45548e4511d7b815a9b

	* elmo-pop3.el (elmo-pop3-read-response, elmo-pop3-read-body):
	Likewise.

2014-03-31  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-delete-cr-region, elmo-delete-cr): Bind
	inhibit-eol-conversion to nil.
	Cf. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742206

2014-02-22  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-setup-send-buffer): Accept third
	argument FILE.  Refactored.
	(elmo-imap4-setup-send-buffer-from-file): Use it.

2014-02-21  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-delete-cr-region)
	(elmo-delete-cr-get-content-type, elmo-delete-cr)
	(elmo-delete-cr-region): Refactored.

2014-02-08  Kazuhiro Ito  <kzhr@d1.dion.ne.jp> (not tested)

	* elmo-imap4.el (elmo-imap4-read-token): New inline function.
	(elmo-imap4-parse-response, elmo-imap4-parse-fetch): Use it.
	(elmo-imap4-parse-nil, elmo-imap4-parse-greeting)
	(elmo-imap4-parse-resp-text-code, elmo-imap4-parse-data-list):
	Match string case-insensitively.

2014-01-19  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-parse-token): Optional argument ASIS is
	added.

	* elmo-multi.el (elmo-folder-initialize): Call elmo-parse-token
	with ASIS option.

2014-01-13  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-vars.el (elmo-have-link-count): Set default to nil on
	Cygwin.

2013-06-30  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-search-generate-vector): Remove
	repeated calls to `elmo-filter-key', use `search-key' variable.

2013-06-19  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-vars.el: Explicitly specify file coding.

2013-03-31  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-entity.el (modb-entity-match-entity-body): Use
	elmo-mime-charset-decode-string instead of
	decode-mime-charset-string.

2013-03-29  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-with-enable-multibyte): Move to temporary
	buffer only when FLIM's MIME-charset decodes/encoders require
	multibyte buffer.

2013-03-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-mime-charset-decode-string)
	(elmo-mime-charset-encode-string): New functions.
	(elmo-mime-string): Use elmo-mime-charset-encode-string.

	* elmo-msgdb.el (elmo-msgdb-overview-entity-get-from-no-decode)
	(elmo-msgdb-overview-entity-get-subject-no-decode): Use
	elmo-mime-charset-encode-string.

	* modb-entity.el (elmo-msgdb-get-decoded-cache)
	(modb-entity-string-encoder)
	(modb-entity-encode-string-recursive): Use new functions.

2012-11-19  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo.el (elmo-message-match-condition): Do not decode a message
	here.

	* modb-entity.el (elmo-msgdb-message-match-condition): Decode
	a message for 'raw-body' seaching.

2012-11-17  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	elmo-folder-search by 'body' now searches only text parts and
	decodes them before searching.  Previous behavior is available as
	seaching by 'raw-body'.

	* elmo-imap4.el (elmo-imap4-search-internal-primitive): Treat
	'raw-body' search as the same with 'body' search.

	* elmo-nntp.el (elmo-nntp-use-server-search-p): Deal the case of
	'raw-body' search.

	* modb-entity.el (modb-entity-match-entity-body): New function.
	(elmo-msgdb-message-match-condition): Use it for 'body' searching.
	Previous 'body' search is available as 'raw-body' search.

2012-08-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-cache-get-path-subr): Refactored.

	* elmo-date.el (elmo-replace-in-string): Use
	replace-regexp-in-string if available.

2012-08-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el (elmo-imap4-parse-namespace-subr)
	(elmo-imap4-parse-flag-list)
	(elmo-imap4-search-internal-primitive): Use zerop instead of eq
	with 0.

	* elmo-nntp.el (elmo-nntp-send-buffer): Likewise.

	* elmo-split.el (elmo-split): Likewise.

	* elmo-util.el (elmo-time-expire, elmo-parse-token)
	(elmo-parse-prefixed-element): Likewise.

	* elmo.el (elmo-folder-move-messages): Likewise.

2012-08-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-archive.el (Top, elmo-folder-initialize)
	(elmo-archive-folder-list-subfolders): Use match-string directly
	instead of elmo-match-string.

	* elmo-cache.el (elmo-folder-initialize): Likewise

	* elmo-date.el (elmo-replace-in-string, elmo-date-get-datevec):
	Likewise.

	* elmo-file.el (elmo-file-make-date-string): Likewise.

	* elmo-filter.el (elmo-folder-initialize): Likewise.

	* elmo-imap4.el (elmo-imap4-parse-capability)
	(elmo-folder-initialize): Likewise.

	* elmo-maildir.el (elmo-maildir-list-location)
	(elmo-maildir-set-mark, elmo-maildir-delete-mark): Likewise.

	* elmo-nntp.el (elmo-folder-list-messages-plugged)
	(elmo-nntp-folder-status, elmo-nntp-post): Likewise.

	* elmo-pipe.el (elmo-folder-initialize): Likewise.

	* elmo-shimbun.el (elmo-folder-initialize): Likewise.

	* elmo-util.el (elmo-msgid-to-cache): Likewise.

2012-08-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-date.el (elmo-match-string): Obsolete. Use match-string
	directly.
	(elmo-match-buffer): Use `match-string-no-properties' if
	available.

2012-08-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo.el (elmo-folder-msgdb-path): Do not require md5.el.
	Autoload cookie is already defined.

	* elmo-util.el (elmo-string-to-list): Refactored.

2012-08-15  David Maus  <dmaus@ictsoc.de>

	* elmo-util.el (elmo-get-message-id-from-field): Fallback to std11
	parser if regexp didn't match.

	* elmo-vars.el (elmo-always-prefer-std11-parser): Renamed from
	`elmo-prefer-std11-parser', default to nil.

2012-08-14  David Maus  <dmaus@ictsoc.de>

	* elmo-nntp.el (elmo-nntp-post): Dynamically bind
	`elmo-prefer-std11-parser'.
	(elmo-nntp-setup-crosspost-buffer): Dto.

	* elmo-util.el (elmo-get-message-id-from-field)
	(elmo-get-message-id-from-header)
	(elmo-get-message-id-from-buffer): Remove `strict' parameter,
	dynamically bind `elmo-prefer-std11-parser' instead.

2012-08-08  David Maus  <dmaus@ictsoc.de>

	* elmo-util.el (elmo-parse-msgid-field): Renamed from
	`elmo-normalize-msgid-field'.
	(elmo-get-message-id-from-field): Dto.

2012-08-05  David Maus  <dmaus@ictsoc.de>

	* elmo-util.el (elmo-extract-std11-msgid-tokens): Retain order of
	message-id values.

	* elmo-vars.el (elmo-prefer-std11-parser): New
	customizable. Prefer std11 parser over regexp.

	* elmo-util.el (elmo-get-message-id-from-field): Use customizable.

2012-08-05  David Maus  <dmaus@w500.major-mode.org>

	* elmo-util.el (elmo-extract-std11-msgid-tokens): New
	function. Extract msg-id tokens from std11-parsed field.
	(elmo-normalize-msgid-field): New function. Return list of
	message-id field values in field.
	(elmo-get-message-id-from-field): New function. Return message-id
	field value.
	(elmo-get-message-id-from-header): Refactored. Use new functions.

2012-08-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-unfold-field-body, elmo-decoded-field-body):
	Call make-obsolete with 2 arguments.  Emacs 20.x don't accept
	3 arguments.

2012-08-04  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el : Do not require utf7.el.

2012-08-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-imap4.el : Don't require utf7.el unconditionally.  Add
	autoload settings for `utf7-decode' and `utf7-encode'.
	(elmo-imap4-use-modified-utf7): Set t when internal coding system
	for modified UTF-7 is available.  Fix typo of docstring.
	(elmo-imap4-decode-folder-string)
	(elmo-imap4-encode-folder-string): Use internal coding system if
	available.

2012-08-01  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-nntp-post): Remove the invalid Message-ID
	header when the recommended ID is provided.

2012-08-01  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-get-message-id-from-header)
	(elmo-get-message-id-from-buffer): New functions.
	(elmo-msgdb-get-message-id-from-header): Use them.

	* elmo-nntp.el (elmo-nntp-post): Likewise.
	(elmo-nntp-setup-crosspost-buffer): Likewise.

	* elmo-cache.el (elmo-folder-append-buffer): Use
	elmo-msgdb-get-message-id-from-buffer.

2012-07-30  David Maus  <dmaus@ictsoc.de>

	* elmo-util.el (elmo-unfold-field-body, elmo-decoded-field-body):
	Declare obsolete.

2012-07-27  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-msgdb-get-message-id-from-header): New
	function.
	(elmo-msgdb-get-message-id-from-buffer): Use it.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-header):
	Likewise.

2012-07-27  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-msgdb-get-references-from-header): Renamed
	from elmo-msgdb-get-references-from-buffer.

	* elmo-shimbun.el (elmo-shimbun-update-overview): Likewise.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-header):
	Likewise.

2012-07-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-entity.el (elmo-msgdb-create-message-entity-from-header):
	Rnamed from elmo-msgdb-create-message-entity-from-buffer.
	(elmo-msgdb-create-message-entity-from-file): Likewise.

	* elmo-archive.el (elmo-archive-msgdb-create-entity-subr):
	Likewise.

	* elmo-imap4.el (elmo-imap4-fetch-callback-1): Likewise.

	* elmo-nntp.el (elmo-nntp-msgdb-create-message): Likewise.

	* elmo-pop3.el (elmo-pop3-msgdb-create-message): Likewise.

	* elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Likewise.

2012-07-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Do not
	assume buffer is narrowed to header.

2012-07-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-decoded-fetch-field): Renamed from
	elmo-decoded-field-body.  elmo-decoded-fetch-field is obsolete.

	* elmo-spam.el (elmo-spam-buffer-spam-p)
	(elmo-spam-message-spam-p): Likewise.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
	Likewise.

2012-07-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-unfold-fetch-field): Renamed from
	elmo-unfold-field-body.  elmo-unfold-field-body is obsolete.
	(elmo-msgdb-get-message-id-from-buffer): Likewise.

2012-07-25  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-field-body): Obsolete.  Remove
	eval-and-compile.  Do not care of std11-fetch-field's
	availability.
	(elmo-unfold-field-body, elmo-decoded-field-body)
	(elmo-msgdb-get-message-id-from-buffer)
	(elmo-msgdb-get-references-from-buffer): Call std11-fetch-field
	directly.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
	Likewise.

2011-11-30  David Maus  <dmaus@ictsoc.de>

	* elmo-maildir.el (elmo-folder-append-buffer): Correctly get the
	number of the appended message.

2011-07-17  David Maus  <dmaus@ictsoc.de>

	* elmo-util.el (elmo-list-difference): New function. Return
	difference of two lists.
	* elmo-imap4.el (elmo-imap4-search-generate-vector): Use function.

2011-07-03  Erik Hetzner  <egh@e6h.org>

	* elmo-imap4.el (elmo-imap4-search-internal-primitive): Removed.
	(elmo-imap4-search-build-full-command): New function. Build full
	IMAP search command.
	(elmo-imap4-search-perform): New function. Perform IMAP search.
	(elmo-imap4-search-generate-vector): New function. Generate search
	vector.
	(elmo-imap4-search-mergeable-p): New function. Return non-nil if
	two search conditions are mergeable.
	(elmo-imap4-search-mergeable-charset): New function. Return
	charset of two searches for merging.
	(elmo-imap4-search-generate-uid): New function. Return search for
	a set of messages.
	(elmo-imap4-search-generate-and): New function. Return search that
	returns intersection of two search commands.
	(elmo-imap4-search-generate-or): New function. Return search that
	returns union of two search commands.
	(elmo-imap4-search-generate): New function. Return search in
	folder.
	(elmo-imap4-search-internal): Use new search functions.

2012-05-15  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-entity.el (elmo-msgdb-create-message-entity-from-file):
	Stop to get file attributes here.  Stop to let-bind
	insert-file-contents-pre-hook and insert-file-contents-post-hook.
	Pass filename to temporary buffer.
	(elmo-msgdb-create-message-entity-from-buffer): Get file
	attributes here.  Get file attributes and build date string from
	mtime only when needed.

2012-04-27  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-entity.el (elmo-msgdb-create-message-entity-from-file):
	Check whether file exists at first.  Do not narrow.

	* elmo-util.el (elmo-delete-cr-region): New inline function.
	(elmo-delete-cr-buffer): Use it.
	(elmo-msgdb-insert-file-header): Fix failure to detect the end of
	headers in some cases.  Delete contents after inserted headers.

2012-04-26  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
	(modb-standard-rntity-handler) Avoid redundant fetching
	field-value.  Reduce use of let().

2012-04-24  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-msgdb-get-message-id-from-buffer): Normalize
	result string.

	* modb-entity.el (modb-standard-entity-normalizer)
	(modb-standard-entity-specializer): Fix typo.

2012-04-07  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-net.el (elmo-open-tls-stream): Removed.

	* elmo-vars.el (elmo-network-stream-type-alist): Use
	open-tls-stream instead of elmo-open-tls-stream.

2012-04-07  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-net.el (elmo-open-network-stream): Raise error when open
	connection function failed.

2012-04-07  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-net.el (elmo-network-stream-type-from-symbol): Removed.
	elmo-get-network-stream-type has slipped out of my check, which
	had the same functionality.

2012-03-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-nntp.el (elmo-folder-initialize): Do not modify
	elmo-network-stream-type-alist.

2011-07-03  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-session-unselect-mailbox): New
	function. Leave selected state without silent EXPUNGE.
	(elmo-folder-rename-internal): Use function.

2011-06-03  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Don't mark
	unread messages with important or answered flag read.

2011-06-02  David Maus  <dmaus@ictsoc.de>

	* elmo-date.el (elmo-time-make-imap-date-string): New
	function. Return IMAP4 compliant date string.

	* elmo-imap4.el (elmo-folder-append-buffer): Return uid of append
	message if requested.

2011-05-29  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-network-authenticate-session): Always ask
	for capabilities after login.
	(elmo-imap4-parse-response): Remove superfluous third argument to
	split-string.

2011-05-29  David Maus  <dmaus@ictsoc.de>

	* elmo-maildir.el (elmo-folder-append-buffer): Return number of
	appended message.
	* elmo-localdir.el (elmo-folder-append-buffer): Dto.
	* elmo-archive.el (elmo-archive-folder-append-buffer): Dto.

	* elmo.el (elmo-folder-append-buffer): Add optional fourth
	argument, return number of appended message if possible.
	* elmo-pipe.el (elmo-folder-append-buffer): Dto.
	* elmo-maildir.el (elmo-folder-append-buffer): Dto.
	* elmo-flag.el (elmo-folder-append-buffer): Dto.
	* elmo-localdir.el (elmo-folder-append-buffer): Dto.
	* elmo-filter.el (elmo-folder-append-buffer): Dto.
	* elmo-cache.el (elmo-folder-append-buffer): Dto.
	* elmo-archive.el (elmo-folder-append-buffer)
	(elmo-archive-folder-append-buffer): Dto.

2011-05-24  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-util.el (elmo-uniq-sorted-list, elmo-uniq-list): Fix typo
	in the docstring.

2011-05-23  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-net.el (elmo-network-stream-type-from-symbol): New function.
	(elmo-open-tls-stream): New function.

	* elmo-vars.el (elmo-network-stream-type-alist): Check whether
	gnutls.el or tls.el is available.

2011-01-12  David Maus  <dmaus@ictsoc.de>

	* elmo-nntp.el (elmo-nntp-folder-msgdb-create): Remove accidental
	rebinding of new message db symbol.

2010-11-02  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>

	* elmo-pop3.el (elmo-folder-open-internal): Don't load location
	map if it is already loaded.

2010-10-31  David Maus  <dmaus@ictsoc.de>

	* elmo-map.el (elmo-folder-open-internal): Don't load location map
	if it is already loaded.

	* elmo.el (elmo-folder-open-internal-p)
	(elmo-folder-move-messages): Method removed.
	* elmo-filter.el (elmo-folder-open-internal-p): Dto.
	* elmo-map.el (elmo-folder-open-internal-p): Dto.
	* elmo-multi.el (elmo-folder-open-internal-p): Dto.
	* elmo-pipe.el (elmo-folder-open-internal-p): Dto.
	* elmo-pop3.el (elmo-folder-open-internal-p): Dto.
	* elmo-shimbun.el (elmo-folder-open-internal-p): Dto.

2010-10-24  David Maus  <dmaus@ictsoc.de>

	* elmo-pop3.el (elmo-folder-open-internal-p): Define method for
	this class.
	* elmo-shimbun.el (elmo-folder-open-internal-p): Dto.
	* elmo-multi.el (elmo-folder-open-internal-p): Fix invalid let
	statement.

2010-10-14  David Maus  <dmaus@ictsoc.de>

	* elmo-multi.el (elmo-folder-open-internal-p): Evaluate symbol to
	return state of child folders.

2010-10-13  David Maus  <dmaus@ictsoc.de>

	* elmo-multi.el (elmo-folder-open-internal-p): Start with t and
	set to nil if one of the child folders is not open.
	(elmo-folder-open-internal): Open child folders only if they are
	not opened yet.

2010-08-31  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-folder-delete-messages-plugged): Use smarter
	mechanism to expunge messages.

2010-08-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-imap4.el: Remove trailing whitespace.

	* elmo-localdir.el (elmo-folder-pack-numbers): Fix
	`elmo-bind-directory' indent.

	* elmo-imap4.el (elmo-imap4-folder-list-range): Fix indent (only
	cosmetic fix).

2010-08-27  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-util.el (elmo-delete-char): Fix `elmo-set-work-buf' indent.
	(elmo-delete-cr, elmo-get-file-string, elmo-save-string)
	(elmo-string-to-list, elmo-list-to-string): Ditto.

2010-08-26  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-archive.el (elmo-archive-field-condition-match)
	(elmo-archive-suffix-alist)
	(elmo-archive-create-file, elmo-archive-folder-append-buffer)
	(elmo-archive-folder-message-make-temp-files)
	(elmo-archive-append-files)
	(elmo-archive-field-condition-match): Fix indent.

	* elmo-pop3.el (elmo-pop3-read-response): Fix `response-string'.
	Avoid `args-out-of-range 0, 1' error.

2010-08-24  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* acap.el (acap-arrival-filter): Use (delete-char (- X)) instead of
	(delete-backward-char X) that deletes region in Emacs 24.
	See delete-active-region described in NEWS.
	* elmo-imap4.el (elmo-imap4-arrival-filter): Ditto.
	* elmo-util.el (elmo-get-file-string): Ditto.
	* utf7.el (utf7-encode-internal, utf7-decode-internal): Ditto.

2010-08-09  David Maus  <dmaus@ictsoc.de>

	* elmo.el (elmo-folder-open-internal-p): New luna method.
	(elmo-folder-move-messages): Open source folder only if necessary.
	* elmo-pipe.el (elmo-folder-open-internal-p): New luna method.
	* elmo-multi.el (elmo-folder-open-internal-p): Dto.
	* elmo-map.el (elmo-folder-open-internal-p): Dto.
	* elmo-filter.el (elmo-folder-open-internal-p): Dto.

2010-08-04  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-session-deselect-mailbox): New
	function.  Leave selected state without causing silent EXPUNGE.
	(elmo-imap4-folder-status-plugged, elmo-folder-rename-internal):
	Use function.

2010-08-01  David Maus  <dmaus@ictsoc.de>

	* elmo.el (elmo-folder-move-messages): Open source folder before
	moving messages.

2010-07-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-mailbox-size-update-maybe): Ignore
	EXPUNGE responses.
	(elmo-imap4-mailbox-size-update-maybe): Use latest EXIST or RECENT
	response value.

2010-07-02  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-server-diff-async): Remove.  Unused luna
	method.
	(elmo-imap4-folder-status-plugged): Close mailbox before calling
	STATUS if it is selected.  If
	`elmo-imap4-use-select-to-update-status' is non-nil, do the
	opposite.
	(elmo-imap4-folder-status-plugged): Remove usage of kill file to
	adjust message counter.
	(elmo-folder-next-message-number-plugged): Close mailbox before
	calling STATUS if selected.  If
	`elmo-imap4-use-select-to-update-status' is non-nil, do the
	opposite.

2010-05-18  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-mailbox-selected-p): Fix typo.

2010-05-08  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-mailbox-selected-p): New macro.
	Return non-nil if mailbox is selected in session.
	(elmo-imap4-session-select-mailbox): Use macro
	`elmo-imap4-mailbox-selected-p'.
	(elmo-folder-exists-p-plugged): Dto.
	(elmo-folder-check-plugged): Dto.
	(elmo-imap4-folder-diff-plugged): Dto.

2010-05-05  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-mailbox-size-update-maybe): Use
	simpler method to count expunged messages.
	(elmo-imap4-folder-diff-plugged): Use NOOP and SEARCH when called
	for selected mailbox.

2010-04-17  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-mailbox-size-update-maybe): Build list
	of expunged messages only when response contains expunge.
	(elmo-imap4-folder-diff-plugged): Removed usage of kill file to
	adjust message counter.
	(elmo-imap4-folder-diff-plugged): When mailbox is selected, search
	for unread messages, call noop to maybe update mailbox size and
	return recorded size of mailbox.

2010-04-16  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (luna-define-class): Add slot
	`current-mailbox-size'.
	(elmo-imap4-mailbox-size-update-maybe): New function.
	(elmo-imap4-read-response): Update mailbox size when untagged
	EXISTS, RECENT and EXPUNGE responses arrive.
	(elmo-imap4-session-check, elmo-folder-delete-messages-plugged):
	Wait for and evaluate server response.
	(elmo-imap4-session-select-mailbox, elmo-folder-delete)
	(elmo-folder-open): Reset mailbox size when no mailbox selected.

2010-04-15  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-folder-name-syntax): Allow numbers in
	imap user name.

2010-04-14  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-disabled-extension): New
	variable. List of server extensions that are disabled on the
	client side.
	(elmo-imap4-session-capable-p): Honour list of disabled
	extensions.

2010-03-17  David Maus  <dmaus@ictsoc.de>

	* elmo-imap4.el (elmo-imap4-folder-list-flagged)
	(elmo-imap4-search-internal-primitive): Pass filter type to imap
	search when performing search for flagged messages.

2010-03-02  Katsuyoshi Ohara <ohara@air.s.kanazawa-u.ac.jp>

	* elmo-archive.el (elmo-intern-soft): New function.
	(elmo-folder-initialize): Use it.

2010-01-22  Vitaly Mayatskih  <v.mayatskih@gmail.com>

	* modb-standard.el (modb-standard-save-entity): Use
	`modb-standard-cleanup-stale-entities' to clean up stale entity
	files in modb cache.
	* elmo-imap4.el (elmo-network-authenticate-session): Ask for
	capabilities after login.

2010-01-17  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-imap4.el (elmo-folder-list-messages-plugged): Use TAB for
	indent (only cosmetic fix).

2010-01-15  Vitaly Mayatskih  <v.mayatskih@gmail.com>

	* elmo-version.el (elmo-version): Up to 2.15.9.

	* elmo-imap4.el (elmo-imap4-elist): New function
	* elmo-imap4.el (elmo-imap4-parse-response): Added support for
	ESEARCH feature (RFC4731).
	* elmo-imap4.el (toplevel): Require time-stamp
	* elmo-imap4.el (elmo-imap4-send-command, elmo-imap4-send-string,
	elmo-imap4-read-response elmo-imap4-read-untagged
	elmo-imap4-arrival-filter elmo-imap4-parse-response): Change
	logging format.
	* elmo-imap4.el (elmo-folder-list-messages-plugged,
	elmo-imap4-folder-list-range, elmo-folder-open): Don't ask server
	for full uid range on folder entering, retrieve updates only for
	newly appeared messages.
	* elmo-imap4.el (elmo-imap4-send-command, elmo-imap4-send-string,
	elmo-imap4-read-response, elmo-imap4-read-untagged,
	elmo-imap4-parse-response): Change deprecated time-stamp-hh:mm:ss
	to format-time-string.
	* elmo-vars.el (toplevel): New custom
	`elmo-imap4-set-seen-flag-explicitly' to override setting of Seen
	flag for some buggy servers.
	* elmo-imap4.el (elmo-message-fetch-plugged): Ditto

2010-01-05  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* acap.el (acap-parse-response): Fix comment-out style. Use three
	semicolons, that should start at the left margin.
	See. also (Info-goto-node "(elisp)Comment Tips").
	* elmo.el (toplevel, elmo-message-match-condition)
	(elmo-folder-set-info-max-by-numdb, elmo-folder-move-messages):
	Ditto.
	* elmo-archive.el (elmo-archive-suffix-alist)
	(elmo-archive-tar-method-alist, elmo-archive-tgz-method-alist)
	(elmo-archive-method-list)
	(elmo-archive-msgdb-create-as-numlist-subr2, elmo-folder-search):
	Ditto.
	* elmo-imap4.el	(toplevel)
	(elmo-imap4-send-command, elmo-imap4-check-validity)
	(elmo-imap4-fetch-callback-1-subr)
	(elmo-network-initialize-session, elmo-server-diff-async)
	(elmo-imap4-folder-diff-plugged): Ditto
	* elmo-maildir.el (elmo-maildir-temporal-filename): Ditto.
	* elmo-msgdb.el (elmo-msgdb-append-element): Ditto.
	* elmo-net.el (elmo-network-close-session): Ditto.
	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string)
	(elmo-nntp-parse-overview-string, elmo-nntp-post): Ditto.
	* elmo-pop3.el (elmo-pop3-retrieve-headers):  Ditto.
	* elmo-util.el (elmo-set-auto-coding, elmo-passwd-alist-save)
	(elmo-number-set-delete)
	(elmo-cache-get-oldest-cache-file-entity): Ditto.

2010-01-04  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el (elmo-version): Up to 2.15.8.

	* elmo-mime.el (elmo-mime-insert-header-from-buffer): Use
	`with-current-buffer' instead of `save-excursion' (for suppress
	compile warnings).

	* elmo.el (elmo-folder-confirm-appends): Use `number-to-string'
	instead of `int-to-string'.
	* elmo-archive.el (elmo-archive-message-fetch-internal)
	(elmo-archive-folder-message-make-temp-files)
	(elmo-archive-folder-append-buffer)
	(elmo-folder-delete-messages-internal)
	(elmo-archive-msgdb-create-entity)
	(elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
	* elmo-util.el (elmo-cache-expire-by-age): Ditto.
	* elmo-flag.el (elmo-global-flag-set-internal): Ditto.
	* elmo-file.el (elmo-folder-message-make-temp-files): Ditto.
	* elmo-imap4.el (elmo-imap4-make-number-set-list)
	(elmo-folder-list-subfolders): Ditto.
	* elmo-localdir.el (elmo-message-file-name)
	(elmo-folder-message-make-temp-files)
	(elmo-localdir-msgdb-create-entity)
	(elmo-folder-append-messages-*-localdir)
	(elmo-folder-pack-numbers): Ditto.
	* elmo-maildir.el (elmo-folder-message-make-temp-files): Ditto.
	* elmo-map.el (elmo-location-map-key): Ditto.
	* elmo-nntp.el (elmo-nntp-folder-postfix)
	(elmo-nntp-folder-list-subfolders)
	(elmo-nntp-folder-msgdb-create): Ditto.

	* elmo.el (elmo-crosspost-message-alist-save): Don't use
	`function' for `lambda'.
	* elmo-archive.el (elmo-archive-folder-list-subfolders)
	(elmo-folder-append-messages-*-archive)
	(elmo-folder-delete-messages-internal): Ditto.
	* elmo-date.el (elmo-replace-in-string): Ditto.
	* elmo-multi.el (elmo-folder-list-messages, elmo-folder-search)
	(elmo-folder-list-flagged): Ditto.
	* elmo-maildir.el (elmo-maildir-cleanup-temporal): Ditto.
	* elmo-imap4.el (elmo-network-authenticate-session): Ditto.
	* modb-standard.el (modb-standard-cleanup-stale-entities): Ditto.

2010-01-02  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-dop.el (elmo-dop-spool-folder): Suppress warning "defsubst
	`elmo-dop-spool-folder' was used before it was defined"; Use
	`defun' instead.

	* pldap.el (ldap/ldif-safe-string-p): macro to function.
	* elmo-imap4.el (elmo-imap4-detect-search-charset): Ditto.

	* elmo.el (elmo-folder-info-make-hashtb): Use `mapc' instead of
	`mapcar'; Suppress compile warning.
	* elmo-imap4.el (elmo-network-initialize-session-buffer)
	(elmo-imap4-search-internal-primitive): Ditto.
	* elmo-nntp.el (elmo-nntp-search-primitive): Ditto.
	* elmo-archive.el (elmo-archive-exec-msgs-subr2): Ditto.

	* elmo-imap4.el (elmo-imap4-parse-address-list)
	(elmo-imap4-parse-fetch-body-section, elmo-imap4-parse-body)
	(elmo-imap4-parse-acl, elmo-imap4-parse-body-extension)
	(elmo-imap4-parse-body-ext, elmo-imap4-parse-body): Use
	`(string-to-char " ")' instead of `? ', `?\ '.

2010-01-01  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* pldap.el (ldap-search-entries): Don't use `function' for lambda.
	(ldap-add-entries, ldap-modify-entries): Use `mapc' instead of `mapcar'.
	(ldap-delete-entries): Use `mapc' instead of `mapcar'. Don't use
	`function' for lambda.

	* modb-standard.el (modb-standard-cleanup-stale-entities): Use
	`string-to-number' instead of `string-to-int'.

	* elmo-util.el (elmo-set-work-buf): Use `with-current-buffer'
	instead of `save-excursion' (for suppress compile warnings).
	* elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
	* elmo-nntp.el (elmo-nntp-list-folders-get-cache): Ditto.
	(elmo-nntp-post): Ditto.

2009-08-01  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* utf7.el (utf7-get-u16char-converter): Revert BOM workaround for
	Mule-UCS (to-utf-16).
	(utf7-utf-16-coding-system): Change preference when Mule-UCS on
	Emacs 23.

2009-07-11  Taiki SUGAWARA  <buzz.taiki@gmail.com>

	* utf7.el (utf7-find-coding-system-without-bom): New Function.
	(utf7-utf-16-coding-system): use no-BOM coding system.
	(utf7-get-u16char-converter): remove workaround for BOM.

2009-05-26  Vitaly Mayatskikh <v.mayatskih@gmail.com>

	* elmo-util.el (elmo-union): New function, make a union of two lists.

	* elmo-mime.el (elmo-mime-entity-display): Fix Emacs crash in
	mime-view when displaying malformed base64 attach.

	* elmo-imap4.el (elmo-imap4-folder-list-flagged): Use elmo-imap4-list
	(removed duplicated code)

	* modb-standard.el (modb-standard-cleanup-stale-entities): New
	function, Remove stale entities from elmo's cache.

2009-05-26  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el (elmo-version): Up to 2.15.7.

2009-03-22  Tetsurou Okazaki  <okazaki@be.to>

	* elsp-bsfilter.el (elmo-spam-bsfilter-update-switch): Change
	default value to `--auto-update'.

2008-07-06  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-pop3.el (elmo-pop3-read-contents): Fix double `goto-char'.
	Add `elmo-pop3-read-point' barrier.

2008-07-06 YAMASHITA Junji <ysiijj@gmail.com>

	* elmo-pop3.el (elmo-pop3-read-contents): improving performance:
	goto the previous end-point insead of the head-point, and use
	`search-forward' instead of `re-search-forward'.

2008-06-30  Tetsurou Okazaki  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-parse-status): Use `case' instead of `cond'.

2008-06-30  Don Bashford  <Don.Bashford@stjude.org>

	* elmo-imap4.el (elmo-imap4-parse-status): Accept IMAP4 tokens in a
	case-insensitive fashion.

2008-03-30  Tetsurou Okazaki  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-send-command): Combine `process-send-string' calls.

2008-02-20  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-util.el (elmo-add-name-to-file, elmo-field-body): Use
	`eval-and-compile' for suppress compile warnings.

	* elmo-vars.el (dynamic-link, dynamic-call): Use `defalias-maybe'
	instead of `defun-maybe'

	* elmo-util.el: Add (eval-when-compile (require 'static)).

2008-02-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* mmimap.el: Remove (require 'static).
	* acap.el: Ditto.

	* elmo-flag.el: Move ';;; Code:' comment.
	* elmo-imap4.el: Ditto.
	* elmo-net.el: Ditto.

	* elmo-version.el (product-provide): Fix comment.

2008-02-18  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* slp.el: Add (eval-when-compile (require 'cl)).
	* elmo-date.el: Ditto.
	* elmo-pop3.el: Ditto.
	* elmo-mime.el: Add (eval-when-compile (require 'elmo)).

2008-02-17  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* modb.el (elmo-msgdb-match-condition-primitive): Use
	`string-to-number' instead of `string-to-int'.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-buffer)
	(elmo-msgdb-message-match-condition)
	(elmo-msgdb-create-message-entity-from-buffer): Use
	`string-to-number' instead of `string-to-int'.

	* elmo.el (elmo-folder-confirm-appends): Use `string-to-number'
	instead of `string-to-int'.

	* elmo-util.el (elmo-cache-expire-by-age): Use `string-to-number'
	instead of `string-to-int'.

	* elmo-pop3.el (elmo-pop3-list-by-list, elmo-folder-status): Use
	`string-to-number' instead of `string-to-int'.

	* elmo-nntp.el (elmo-nntp-make-msglist)
	(elmo-folder-list-messages-plugged, elmo-nntp-folder-status)
	(elmo-nntp-create-msgdb-from-overview-string)
	(elmo-nntp-parse-xhdr-response, elmo-nntp-msgdb-create-message)
	(elmo-nntp-search-primitive): Use `string-to-number' instead of
	`string-to-int'.

	* elmo-net.el (elmo-net-folder-set-parameters): Use
	`string-to-number' instead of `string-to-int'.

	* elmo-localdir.el (elmo-localdir-list-subr): Use
	`string-to-number' instead of `string-to-int'.

	* elmo-imap4.el (elmo-imap4-search-internal-primitive): Use
	`string-to-number' instead of `string-to-int'.

	* elmo-date.el (elmo-date-get-datevec): Use `string-to-number'
	instead of `string-to-int'.

	* elmo-archive.el (elmo-archive-list-folder-subr): Use
	`string-to-number' instead of `string-to-int'.

2008-02-16  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-util.el (elmo-get-passwd): Fix typo.

	* elmo-nntp.el (elmo-nntp-get-server-command)
	(elmo-nntp-set-server-command, elmo-nntp-xover-p)
	(elmo-nntp-listgroup-p, elmo-nntp-set-listgroup)
	(elmo-nntp-list-active-p, elmo-nntp-set-list-active)
	(elmo-nntp-xhdr-p, elmo-nntp-set-xhdr): New backquote style.

	* elmo-imap4.el (elmo-imap4-debug)
	(elmo-imap4-response-continue-req-p, elmo-imap4-response-ok-p)
	(elmo-imap4-response-bye-p, elmo-imap4-response-garbage-p)
	(elmo-imap4-response-value, elmo-imap4-response-error-text)
	(elmo-imap4-response-bodydetail-text, elmo-imap4-value)
	(elmo-imap4-nth, elmo-imap4-detect-search-charset)
	(elmo-imap4-identical-system-p): New backquote style.

2008-02-15  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-dop.el (elmo-make-dop-queue): New backquote style.
	(elmo-dop-queue-fname, elmo-dop-queue-method): Ditto.
	(elmo-dop-queue-arguments): Ditto.

	* elmo-date.el (elmo-match-substring): New backquote style.
	(elmo-match-string, elmo-match-buffer): Ditto.
	(elmo-date-make-sortable-string): Ditto.

	* elmo-archive.el (elmo-archive-get-method):New backquote style.
	(elmo-archive-get-suffix, elmo-archive-get-regexp): Ditto.

	* elmo-multi.el (elmo-multi-real-folder-number): New backquote
	style.

	* elmo-net.el (elmo-network-stream-type-spec-string): New
	backquote style.
	(elmo-network-stream-type-symbol): Ditto.
	(elmo-network-stream-type-feature): Ditto.
	(elmo-network-stream-type-function): Ditto.
	(elmo-network-session-buffer): Ditto.

	* elmo-util.el (elmo-file-cache-expand-path): New backquote style.
	(elmo-file-cache-status, elmo-file-cache-path): Ditto.
	(elmo-make-file-cache, elmo-string, elmo-get-passwd): Ditto.
	(elmo-bind-directory, elmo-set-work-buf): Ditto.

	* elmo.el (elmo-folder-send): New backquote style.

2008-02-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* pldap.el (ldap-static-if): New backquote style.
	(ldap/ldif-safe-string-p): Ditto.
	(ldap/ldif-insert-field): Ditto.

	* elmo-version.el (elmo-version): Up to 2.15.6.

2008-01-31  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-imap4.el (elmo-folder-list-messages-plugged): Don't include
	messages with \Deleted flag.
	(elmo-folder-delete-messages-plugged): Ask before sending expunge
	command if there are messages with \Deleted flag.

2007-04-24  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-pop3.el (elmo-pop3-auth-apop): Use more strict regexp.
	http://seclists.org/bugtraq/2007/Apr/0018.html
	(Suggested by Tatsuya Kinoshita)

2007-04-16  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-imap4.el (elmo-folder-delete): Don't call close for mailbox
	with \Noselect attribute.

2007-04-15  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-imap4.el (elmo-folder-list-subfolders): Fix handling of
	hierarchical folder structure with UW-imapd.

2007-02-12  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-imap4.el (elmo-imap4-clear-login): Don't send LOGIN command
	when the LOGINDISABLED capability is advertised.

2007-01-27  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-msgdb.el (elmo-msgdb-extra-fields): Make it non-destructive.

2007-01-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-shimbun.el (elmo-shimbun-update-overview): Add argnument
	`entity'.
	(elmo-map-message-fetch): Call `elmo-shimbun-update-overview' only
	if the message entity is exists.

2007-01-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-msgdb-insert-file-header): Call
	`elmo-delete-cr-buffer'.

	* elmo-localdir.el (elmo-message-fetch-internal): Use
	`insert-file-contents-as-raw-text' instead of
	`insert-file-contents-as-binary'.

	* elmo-maildir.el (elmo-map-message-fetch): Ditto.

2006-12-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-imap4.el (elmo-network-initialize-session): Check to
	retrieve a whole greeting message.

2006-11-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-flag.el (elmo-folder-commit): Encode `.minfo' at save.

2006-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-safe-plist-get): New alias or macro.
	(elmo-progress-notify): Use it instead of `plist-get'.

2006-11-19  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo.el (elmo-generic-folder-append-messages): Remove unused
	variable `table'.

2006-11-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-folder-set-plugged): Define.

2006-11-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elsp-bsfilter.el (elmo-spam-bsfilter-use-remote): New user option.
	(elmo-spam-list-spam-messages): Check it option.

2006-11-08  Tetsurou Okazaki  <okazaki@be.to>

	* elmo-util.el (elmo-with-progress-display): Return the value
	of the last form in `body'.

2006-11-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-progress-start): Accept nil for `total'.  Set
	`elmo-progress-counter' as t when a query callback returns nil.
	(elmo-progress-clear): New function.
	(elmo-progress-done): Split into `elmo-progress-clear'.
	(elmo-progress-notify): Update a total slot when it is nil.
	(elmo-with-progress-display): Call `elmo-progress-clear' in
	unwind-protect and move calling `elmo-progress-done' to outside.

	* elmo-imap4.el (elmo-imap4-find-next-line): Call
	`elmo-progress-notify' with :total parameter instead of
	`elmo-progress-counter-set-total'.

2006-11-07  Tetsurou Okazaki  <okazaki@be.to>

	* elmo-util.el (elmo-cache-expire-by-age): Add docstring.
	Make it interactive.
	(elmo-progress-start): Avoid updating `elmo-progress-counter'
	when a query callback returns nil.  Return a progress counter
	instead of t whenever a start callback was called.

2006-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-imap4.el (elmo-imap4-session-capable-p): New macro.
	(elmo-imap4-send-command): Use it.
	(elmo-network-initialize-session): Ditto.
	(elmo-network-setup-session): Ditto.
	(elmo-folder-msgdb-create-plugged): Ditto.

2006-11-04  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-progress-done): Fix a miss refer to
	`elmo-progress-counter'.

2006-11-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elsp-bsfilter.el (elsp-bsfilter-list-spam-files): Abolish.
	(elsp-bsfilter-list-spam-filter): New function.
	(elsp-bsfilter-start-list-spam): Ditto.
	(elsp-bsfilter-read-list-spam): Ditto.
	(elmo-spam-list-spam-messages): Use async process to display
	progress message by each message.

2006-11-03  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-spam.el (elmo-spam-process-messages-as-mbox): Fix problem
	of flushing previously inserted message contents.

	* elmo-imap4.el (elmo-folder-search): Fix return value.

2006-11-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-imap4.el (elmo-imap4-find-next-line): Check whether a label
	of reporter is enable or not.

2006-10-31  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-list-bigger-diff): Abolish.
	(elmo-display-progress): Ditto.
	(elmo-progress-counter-alist): Ditto.
	(elmo-progress-set): Ditto.
	(elmo-progress-clear): Ditto.
	(elmo-progress-counter-all-value): Rename to
	`elmo-progress-counter-total'.
	(elmo-progress-counter-format): Rename to
	`elmo-progress-counter-action'.
	(elmo-progress-counter): New internal variable.
	(elmo-progress-callback-function): Ditto.
	(elmo-progress-counter-label): New function.
	(elmo-progress-counter-set-total): Ditto.
	(elmo-progress-counter-set-action): Ditto.
	(elmo-progress-call-callback): Ditto.
	(elmo-progress-start): Ditto.
	(elmo-progress-done): Ditto.
	(elmo-progress-notify): Rewrite.
	(elmo-with-progress-display): Remove first argument
	`condition'. Add optional argument `var' in `spec'.

	* elmo-vars.el (elmo-display-progress-threshold): Abolish.
	(elmo-display-retrieval-progress-threshold): Ditto.
	(elmo-inhibit-display-retrieval-progress): Ditto.

	* Replace all pair of `elmo-progress-set' and
	`elmo-progress-clear' into `elmo-with-progress-display'.

	* Replace to call `elmo-display-progress' into pair of
	`elmo-progress-notify' and `elmo-with-progress-display'.

	* elmo-version.el (elmo-version): Up to 2.15.5.

2006-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-imap4.el (elmo-imap4-arrival-filter): Use `case' instead of
	`cond'.

2006-10-15  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-imap4.el (elmo-imap4-arrival-filter): Call delete-region in
	cleanup-forms [wl:14027].

2006-10-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-flag.el (elmo-global-flag-set-internal): Use
	`elmo-copy-file' by priority when the message is a file.

2006-10-01  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo.el: Fix typo: disptch -> dispatch.

2006-10-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-file-tag): New class.
	(elmo-append-messages-disptch-table): New constant.
	(elmo-folder-type-p): New function.
	(elmo-folder-append-messages): Redefine as function.

	* elmo-null.el (elmo-folder-append-messages): Renamed from
	`elmo-folder-append-messages'.

	* elmo-maildir.el (elmo-maildir-folder): Inherit `elmo-file-tag'.
	(elmo-folder-append-messages-*-maildir): Renamed from
	`elmo-folder-append-messages'.

	* elmo-localdir.el (elmo-localdir-folder): Inherit
	`elmo-file-tag'.
	(elmo-folder-append-messages-*-localdir): Renamed from
	`elmo-folder-append-messages'.

	* elmo-imap4.el (elmo-folder-append-messages-imap4-imap4): Renamed
	from `elmo-folder-append-messages'.

	* elmo-flag.el (elmo-folder-append-messages-*-flag): Renamed from
	`elmo-folder-append-messages'.

	* elmo-filter.el (elmo-folder-append-messages-filter-*): New
	function.
	(elmo-folder-append-messages-*-filter): Ditto.

	* elmo-multi.el (elmo-folder-append-messages-multi-*): Ditto.

	* elmo-pipe.el (elmo-folder-append-messages-pipe-*): Ditto.
	(elmo-folder-append-messages-*-pipe): Renamed from
	`elmo-folder-append-messages'.

	* elmo-cache.el (elmo-cache-folder): Inherit `elmo-file-tag'.

	* elmo-file.el (elmo-file-folder): Ditto.

	* elmo-sendlog.el (elmo-sendlog-folder): Ditto.

	* elmo-archive.el (elmo-folder-append-messages-*-archive): Renamed
	from `elmo-folder-append-messages'

2006-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-map.el (elmo-location-map-setup): Change an argument
	`locations' to optional.
	(elmo-location-map-clear): Abolish.
	(elmo-folder-clear): Follow the API change.

	* elmo-pop3.el (elmo-folder-clear): Ditto.

	* elmo-pop3.el (toplevel): Require elmo-map.
	(elmo-pop3-folder): Inherit elmo-location-map and abolish
	location-alist slot (All other related portions are changed).
	(elmo-pop3-folder-use-uidl): New function.
	(elmo-folder-msgdb-create): Don't sort message entities.
	(elmo-pop3-sort-msgdb-by-original-number): Abolish.
	(elmo-pop3-number-to-size): Convert return value to number.
	(elmo-pop3-msgdb-create-by-header): Use unwind-protect to delete a
	working buffer.

	* elmo-map.el: Use `location-map' as a variable name for instance
	instead of `mapper'.
	(elmo-location-map-setup): Return location alist.
	(elmo-location-map-update): Ditto.

2006-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-map.el (elmo-location-map): New class; split location and
	number mapping from elmo-map-folder (All other related portions
	are changed).

	* elmo-shimbun.el (elmo-folder-open-internal): Follow the API
	change.

	* elmo-version.el (elmo-version): Up to 2.15.4.

2006-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-vars.el (elmo-use-hardlink): New user option.

	* elmo-util.el (elmo-add-name-to-file): Switch implementations by
	`elmo-use-hardlink'.

	* elmo-pipe.el (elmo-pipe-folder-list-target-messages): Keep the
	killed-list.
	(elmo-pipe-drain): Use `elmo-folder-open' and `elmo-folder-close'
	instead of `*-internal'. Use `elmo-with-progress-display'.

2006-09-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elsp-bogofilter.el (elmo-spam-bogofilter-register-messages): Use
	`elmo-spam-process-messages-as-mbox'.

	* elsp-sa.el (elmo-spam-spamassassin-register-messages): Ditto.

2006-08-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elsp-bsfilter.el (elsp-bsfilter-list-spam-files): Fix the
	argument BUFFER of `call-process'.

2006-08-27  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elsp-bsfilter.el (elsp-bsfilter-call-bsfilter): Remove nil from
	args.
	(elsp-bsfilter-list-spam-files): Ditto.

2006-08-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elsp-bsfilter.el (elmo-spam-bsfilter-max-files-per-process)
	(elmo-spam-bsfilter-max-messages-per-process): New use option.
	(elmo-spam-bsfilter-debug): Fix a group.
	(elsp-bsfilter-call-bsfilter): Don't use `delq' and add option
	`--homedir'.
	(elmo-spam-buffer-spam-p): Don't specify `--homedir' option.
	(elsp-bsfilter-list-spam-files): New function.
	(elmo-spam-list-spam-messages): Define.
	(elsp-bsfilter-register-buffer): Add an optional argument `mbox'.
	(elmo-spam-bsfilter-register-messages): New function.
	(elmo-spam-register-spam-messages): Define.
	(elmo-spam-register-good-messages): Ditto.

	* elmo-spam.el (elmo-spam-process-messages-as-mbox): New function.

	* elmo-util.el (elmo-flatten): Use `append' and `listp' instead of
	`nconc' and `consp'.

2006-08-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-map.el (elmo-map-folder-update-locations): Rewrite with
	hash table to test whether a location is exists.

2006-08-20  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-archive.el (elmo-folder-append-messages): Delete temp-dir
	even if some error occurred.

	* elmo-archive.el (elmo-archive-folder-append-buffer): Remove
	meaningless unwind-protect.

	* elmo-maildir.el (elmo-folder-message-make-temp-files): Respect
	start-number correctly.
	* elmo-search.el (elmo-folder-message-make-temp-files): Ditto.
	* elmo-file.el (elmo-folder-message-make-temp-files): Ditto.

2006-08-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-flag.el (elmo-flag-folder-set-minfo): New function.
	(elmo-folder-initialize): Use it.
	(elmo-global-flag-replace-referrer): New function.

	* elmo.el (toplevel): Added autoload setting for
	`elmo-global-flag-replace-referrer'.
	(elmo-folder-rename): Rewrite the last change use
	`elmo-global-flag-replace-referrer'.

	* elmo-pipe.el (elmo-folder-rename): Call
	`elmo-global-flag-replace-referrer'.

2006-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-rename): Set meta data for global flags
	follow the rename.

2006-07-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-filter.el (elmo-folder-initialize): Set slot `number-list'
	as 'not-loaded.
	(elmo-folder-close): Ditto.
	(elmo-filter-folder-number-list-loaded-p): New function.
	(elmo-filter-folder-number-list): Check whether loaded or not.
	(elmo-folder-commit): Use `elmo-filter-folder-number-list' instead
	of `elmo-filter-folder-number-list-internal'.
	(elmo-folder-delete-messages): Ditto.
	(elmo-folder-length): Check whether number-list is loaded or not.

2006-06-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb-entity.el (modb-entity-field-extractor-alist): Add 3rd
	field `real field' into each element of list.
	(elmo-msgdb-create-message-entity-from-buffer): Follow the above change.
	(elmo-msgdb-message-entity-field): Ditto.
	(modb-entity-ml-info-real-fields): New function.

	* elmo-msgdb.el (elmo-msgdb-extra-fields): New function.

	* elmo-imap4.el (elmo-folder-msgdb-create-plugged): Use function
	`elmo-msgdb-extra-fields'.

2006-05-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-passwd-alist-load): Move point to min
	position before read.

2006-05-15  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-flag.el (elmo-folder-expand-msgdb-path): Translate path.
	(elmo-global-flags-initialize): Ditto.

2006-05-14  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-archive.el (toplevel): Don't require emu, std11
	and elmo-localdir.

	* elmo-localdir.el (elmo-message-file-name): Remove duplicate
	definition.

2006-05-07  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo.el (elmo-folder-confirm-appends): Display folder name.

2006-04-29  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-imap4.el (elmo-imap4-send-command): Use non-synchronizing
	literals.

2006-04-21  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-maildir.el (elmo-maildir-list-location): Reduce
	`elmo-get-last-modification-time' call.

2006-04-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-maildir.el (elmo-maildir-list-location): Fixed a regular
	expression.
	(elmo-maildir-set-mark): Ditto.
	(elmo-maildir-delete-mark): Ditto.

2006-03-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-collect-separators-internal): Add 2nd
	optional argument `separators'.

2006-02-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (cache-changed): Abolish.
	(status-changed): New signal.
	(elmo-message-killed-p): New generic function and define for
	elmo-folder.
	(elmo-folder-recover-messages): Ditto.
	(elmo-message-set-cached): Emit signal `status-changed' instead of
	`cache-changed'.
	(elmo-message-status): New macro.
	(elmo-message-status-folder): Ditto.
	(elmo-message-status-number): Ditto.
	(elmo-message-status-set-flags): Ditto.
	(elmo-message-status-set-killed): Ditto.
	(elmo-message-status-flags): New function.
	(elmo-message-status-cached-p): Ditto.
	(elmo-message-status-killed-p): Ditto.

	* elmo-pipe.el (elmo-pipe-connect-signals): Connect to signal
	`status-changed' instead of `cache-changed'.
	(elmo-folder-recover-messages): Define.
	(elmo-message-killed-p): Ditto.

	* elmo-filter.el (elmo-filter-connect-signals): Connect to signal
	`status-changed' instead of `cache-changed'.

	* elmo-multi.el (elmo-multi-connect-signals): Ditto.
	(elmo-message-killed-p): Define.
	(elmo-folder-recover-messages): Ditto.

	* elmo-version.el (elmo-version): Up to 2.15.3.

2006-02-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-signal.el (elmo-signal-bindings): Use cons to append
	element into list.
	(elmo-define-signal-handler): Add docstring.
	(elmo-define-signal-filter): Ditto.

	* elmo-multi.el (elmo-multi-connect-signals): Fix the signal name.

2006-02-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-flatten): Don't use recursive call.

	* elmo-search.el (elmo-folder-msgdb-create): Remove an unnecessary
	assignment.
	(elmo-folder-message-make-temp-files): Use `number-to-string'
	instead of `int-to-string'.

2006-01-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-search.el (elmo-folder-delete-messages): Define.

2006-01-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-vars.el (elmo-mailing-list-name-spec-list): Fixed
	customization type.
	(elmo-mailing-list-count-spec-list): Ditto.

	* elmo-vars.el (elmo-mailing-list-name-spec-list): Merge entries
	for `list-id'.

2006-01-22  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-vars.el (elmo-mailing-list-name-spec-list): Fix list-id
	handling.

2006-01-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-vars.el (elmo-mailing-list-name-spec-list): New user option.
	(elmo-mailing-list-count-spec-list): Ditto.

	* elmo-util.el (elmo-map-until-success): New function.
	(elmo-string-match-substring): Ditto.
	(elmo-find-list-match-value): Ditto.

	* modb-entity.el (modb-entity-extract-ml-info-from-x-sequence):
	Removed.
	(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-ml-info-from-mailman): Ditto.
	(modb-entity-extract-mailing-list-info-functions): Ditto.
	(modb-entity-extract-mailing-list-info): Rewrite with
	`elmo-find-list-match-value'.

2006-01-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-net.el (elmo-network-session-retry-count): New user option.
	(elmo-network-session-buffer-name): New internal function.
	(elmo-network-session-buffer-create): Ditto.
	(elmo-network-open-session): Retry open network session
	`elmo-network-session-retry-count' times.

2005-12-16  Tetsurou Okazaki  <okazaki@be.to>

	* elmo-util.el (elmo-list-filter): Rewritten.

2005-12-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-string-member): Allow symbol element in list.

2005-11-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-search.el (elmo-make-search-engine): Use prefix
	`elmo-search-' for require symbol instead of `else-'.
	(elmo-search-engine-extprog): New class.
	(elmo-search-engine-do-search): Remove nil from argument
	list. Added argument pattern to evaluate element as function.
	(elmo-search-engine-local-file): Derived from
	`elmo-search-engine-extprog'.
	(elmo-search-engine-create-message-entity): Check existance of file.
	(elmo-search-engine-fetch-message): Ditto.
	(elmo-search-namazu-index): Follow the API change.
	(elmo-search-grep-target): Ditto.

2005-11-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-spam.el (elmo-spam-message-fetch): Disable multibyte
	characters of working buffer.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
	Does not bind `default-mime-charset'.
	(elmo-msgdb-create-message-entity-from-buffer): Removed
	unnecessary local bind.

	* modb-entity.el (modb-entity-extract-ml-info-from-mailman): New
	function.
	(modb-entity-extract-mailing-list-info-functions): Added it.

2005-11-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb-legacy.el (elmo-msgdb-append-entity): Execute the process
	when number and message-id are non-nil.

	* modb-standard.el (elmo-msgdb-append-entity): Ditto.

	* elmo-pop3.el (elmo-pop3-auth-user): Refactoring nested
	conditional steatment.
	(elmo-pop3-auth-apop): Likewise.
	(elmo-network-authenticate-session): Likewise.

2005-11-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-mime.el (elmo-mime-header-max-column): Set default value as
	symbol `fill-column'.
	(elmo-mime-insert-header-from-buffer): Rewrite; ignore errors in
	decode field value.

	* elmo-util.el (elmo-mime-string): Ignore errors in eword decode.
	(elmo-decoded-field-body): Ditto.

2005-11-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-net.el (elmo-net-folder-set-parameters): Rename argument
	`tokens' to `params'.

2005-10-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-split.el (elmo-split-subr): Disable multibyte characters of
	working buffer.

2005-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-search.el (elmo-search-namazu-index): Fixed the order to
	decide index.

2005-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-search.el (elmo-search-engine-alist): Define with defvar;
	Set default value as nil.
	(toplevel): Register search engines by
	`elmo-search-register-engine' if there are not defined.

	* elmo.el (autoload): Added autoload setting for
	`elmo-search-register-engine'.

2005-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (toplevel): `[' is redefined as the prefix of the search
	folder instead of nmz folder.
	(elmo-nmz-default-index-path): Added obsolete variable setting.
	(elmo-nmz-index-alias-alist): Ditto.
	(elmo-nmz-use-drive-letter): Ditto.

	* elmo-search.el (elmo-search-register-engine): New function.

	* elmo-nmz.el: Removed.

	* elmo-version.el (elmo-version): Up to 2.15.2.

2005-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-search.el: New file.

2005-09-02  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* modb-entity.el (elmo-msgdb-message-match-condition): Add new
	condition `larger' and `smaller'.

2005-07-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-safe-filename): Rewrite to replace
	`"' (double quote) into "_Q_".

2005-07-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-net.el (elmo-net-quote-chars): Abolish.
	(elmo-net-format-quoted): Ditto.

2005-06-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-get-folder-function): New variable.
	(elmo-get-folder): New function.
	(elmo-folder-rename): Call `elmo-make-folder' with specified
	mime-charset.

	* elmo-split.el (elmo-split): Use `elmo-get-folder' instead of
	`elmo-make-folder'.
	(elmo-split-subr): Ditto.

	* elmo-multi.el (elmo-folder-initialize): Ditto.

	* elmo-internal.el (elmo-folder-list-subfolders): Ditto.

	* elmo-flag.el (elmo-flag-folder-delete-message): Ditto.
	(elmo-flag-get-folder): Ditto.

	* elmo-filter.el (elmo-folder-initialize): Ditto.

	* elmo-access.el (elmo-folder-initialize): Ditto.
	(elmo-access-folder-update-children): Ditto.

	* elmo-dop.el (elmo-dop-queue-flush): Ditto.
	(elmo-dop-queue-flush): Ditto.
	(elmo-folder-append-buffer-dop-delayed): Ditto.
	(elmo-dop-spool-folder): Call `elmo-make-folder' with specified
	mime-charset.

	* elmo-pipe.el (elmo-folder-initialize): Use `elmo-get-folder'
	instead of `elmo-make-folder'.
	(elmo-folder-rename): Ditto.  Use `elmo-folder-rename' to
	destination folder instead of send `elmo-folder-rename-internal'.

	* elmo-shimbun.el (elmo-folder-list-subfolders): Use `shimbun'
	slot of subfolder instead of create it.

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
	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-spam-modified-p): Defined.
	(elmo-spam-save-status): Set `modified' slot to nil.
	(elmo-spam-register-spam-buffer): Set `modified' slot to non nil.
	(elmo-spam-register-good-buffer): Ditto.

	* elmo-spam.el (elmo-spam-modified-p): New API.

2003-10-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Abolish
	duplicate definition.

	* elmo-util.el (elmo-unfold-field-body): New function.
	(elmo-msgdb-get-message-id-from-buffer): Use it.

	* modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
	Fixed the last change; Use elmo-unfold-field-body.

2003-10-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb-entity.el (elmo-msgdb-create-message-entity-from-buffer):
	Unfold date value.

2003-10-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-spam.el (elmo-spam-save-status): New API.

	* elsp-spamfilter.el: New file.

2003-10-21  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-split.el (toplevel): Add `elmo-spam-processor' args.

2003-10-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-split.el (elmo-split-spam-p): New function.

	* elmo-spam.el: New file.

	* elsp-bogofilter.el: Ditto.

2003-10-15  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-next-message-number): New API.
	(elmo-folder-next-message-number): Define.
	(elmo-message-field): Don't check folder length.

	* elmo-net.el (elmo-folder-next-message-number): Define.
	(elmo-folder-next-message-number-unplugged): Define.

	* elmo-map.el (elmo-folder-next-message-number): Define.
	(elmo-folder-delete-messages): Clear hash value.

	* elmo-imap4.el (elmo-folder-next-message-number-plugged): Define.

	* elmo-dop.el (elmo-folder-next-message-number-dop): New function.
	(elmo-folder-delete-messages-dop-delayed): Always return t.

	* elmo-version.el (elmo-version): Up to 2.11.19.

2003-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb-legacy.el (elmo-msgdb-append-entity): Fixed the last
	change.

	* modb-legacy.el (elmo-msgdb-append-entity): Registered an
	identical cons cell into the mark-alist and the hash table.

2003-10-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pipe.el (elmo-pipe-folder-list-target-messages): Call
	elmo-folder-list-messages with argument `visible-only' as t.

	* elmo-filter.el (elmo-folder-search-requires-msgdb-p): Define.
	(elmo-folder-msgdb-create): Check the target folder.

2003-10-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-session-select-mailbox): Use
	`permanentflag'	instead of `flags'.
	(elmo-folder-open): Ditto.
	(elmo-imap4-set-flag): Treat \Deleted flag as an exception.
	(elmo-imap4-disuse-server-flag-mailbox-regexp): Abolish.
	(elmo-folder-use-flag-p): Always return t.
	(elmo-imap4-session-select-mailbox): Use value of `flags' if
	`permanentflags' does not exist.
	(elmo-folder-open): Ditto.

2003-10-06  Yuuichi Teranishi  <teranisi@gohome.org>

	* modb-legacy.el (elmo-msgdb-message-entity): Return nil when key
	is nil.
	* modb-standard.el (elmo-msgdb-message-entity): Ditto.

	* elmo-imap4.el (elmo-imap4-session): Added new slot `flags'.
	(elmo-imap4-session-select-mailbox): Set it according to the SELECT
	response.
	(elmo-folder-open): Ditto.
	(elmo-imap4-set-flag): Send store flag command only when the `flags'
	slot of the session includes the flag.
	(elmo-imap4-session-flag-available-p): New function.
	(elmo-imap4-folder-list-flagged): Ditto.
	(elmo-folder-list-unreads-plugged): Use it.
	(elmo-folder-list-importants-plugged): Ditto.
	(elmo-folder-list-answereds-plugged): Ditto.
	(elmo-imap4-search-internal-primitive): Ditto.
	(elmo-imap4-folder-list-any-plugged,
	elmo-imap4-folder-list-digest-plugged): Abolish.

	* elmo-filter.el (elmo-folder-search): Don't call elmo-list-filter
	if numbers is nil.

2003-10-06  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-util.el (toplevel): Require emu for char-list-to-string.

2003-10-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-get-hash-val): Simplify.
	(elmo-set-hash-val): Rewrite.

2003-09-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-list-messages): Append killed messages into
	result if `visible-only' is nil and `in-msgdb' is non-nil.

	* elmo-util.el (elmo-uniq-list): Added optional argument
	`delete-function'.

	* modb.el (elmo-msgdb-flag-count): New API.

	* modb-standard.el (modb-standard): Added slot flag-count.
	(modb-standard-countup-flags): New function.
	(modb-standard-load-flag): Call it.
	(elmo-msgdb-append): Ditto.
	(elmo-msgdb-clear): Clear slot flag-count.
	(elmo-msgdb-set-flag): Call modb-standard-countup-flags.
	(elmo-msgdb-unset-flag): Treat `all' flag and call
	modb-standard-countup-flags.
	(elmo-msgdb-flag-count): Define.
	(elmo-msgdb-append-entity): Call modb-standard-countup-flags.
	(elmo-msgdb-delete-messages): Ditto.

	* modb-legacy.el (elmo-msgdb-unset-flag): Treat `all' flag.
	(elmo-msgdb-flag-count): Define.

	* elmo.el (elmo-folder-list-messages): Undo last change.
	(elmo-folder-count-flags): Use elmo-msgdb-flag-count.
	(elmo-folder-kill-messages): Unset all flags to numbers.

	* elmo-sendlog.el (elmo-folder-delete-messages): Rewrite; use
	elmo-folder-kill-messages.

	* elmo-nntp.el (elmo-folder-delete-messages): Ditto.
	(elmo-nntp-folder-delete-messages): Abolish.

	* elmo-version.el (elmo-version): Up to 2.11.18.

2003-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-kill-messages-before): Abolish.
	(elmo-folder-kill-messages-range): New function.
	(elmo-folder-synchronize): Use elmo-folder-kill-messages-range
	instead of elmo-folder-kill-messages-before.

2003-09-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-fetch-callback-1): Use
	elmo-imap4-current-msgdb to decide entity handler.

2003-09-25  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-dop.el (elmo-dop-msgdb): Rewrite.

	* modb-legacy.el (elmo-msgdb-overview-entity-get-id-internal): New
	inline function.
	(elmo-msgdb-overview-entity-get-number-internal): Ditto.
	(elmo-msgdb-overview-entity-set-number,
	elmo-msgdb-overview-entity-get-references,
	elmo-msgdb-overview-entity-set-references,
	elmo-msgdb-overview-entity-get-from-no-decode,
	elmo-msgdb-overview-entity-get-from,
	elmo-msgdb-overview-entity-set-from,
	elmo-msgdb-overview-entity-get-subject,
	elmo-msgdb-overview-entity-get-subject-no-decode,
	elmo-msgdb-overview-entity-set-subject,
	elmo-msgdb-overview-entity-get-date,
	elmo-msgdb-overview-entity-set-date,
	elmo-msgdb-overview-entity-get-to,
	elmo-msgdb-overview-entity-get-cc,
	elmo-msgdb-overview-entity-get-size,
	elmo-msgdb-overview-entity-set-size,
	elmo-msgdb-overview-entity-get-extra,
	elmo-msgdb-overview-entity-set-extra,
	elmo-msgdb-overview-entity-get-extra-field,
	elmo-msgdb-overview-entity-set-extra-field): Moved to elmo-msgdb.el.
	(elmo-msgdb-make-index): Use
	`elmo-msgdb-overview-entity-get-number-internal'.
	(elmo-msgdb-clear-index): Ditto.
	(elmo-msgdb-append-entity): Ditto;
	Use `elmo-msgdb-overview-entity-get-id-internal'.

	* elmo-msgdb.el (elmo-msgdb-overview-entity-get-number,
	elmo-msgdb-overview-entity-set-number,
	elmo-msgdb-overview-entity-get-references,
	elmo-msgdb-overview-entity-set-references,
	elmo-msgdb-overview-entity-get-from-no-decode,
	elmo-msgdb-overview-entity-get-from,
	elmo-msgdb-overview-entity-set-from,
	elmo-msgdb-overview-entity-get-subject,
	elmo-msgdb-overview-entity-get-subject-no-decode,
	elmo-msgdb-overview-entity-set-subject,
	elmo-msgdb-overview-entity-get-date,
	elmo-msgdb-overview-entity-set-date,
	elmo-msgdb-overview-entity-get-to,
	elmo-msgdb-overview-entity-get-cc,
	elmo-msgdb-overview-entity-get-size,
	elmo-msgdb-overview-entity-set-size,
	elmo-msgdb-overview-entity-get-extra,
	elmo-msgdb-overview-entity-set-extra,
	elmo-msgdb-overview-entity-get-extra-field,
	elmo-msgdb-overview-entity-set-extra-field): Moved from modb-legacy.el
	and rewrote for backward compatibility.

2003-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-entity-number,
	elmo-message-entity-set-number,
	elmo-message-entity-field,
	elmo-message-entity-set-field): Moved to elmo-msgdb.el.

	* elmo-msgdb.el (elmo-message-entity-number,
	elmo-message-entity-set-number,
	elmo-message-entity-field,
	elmo-message-entity-set-field): Moved from elmo.el.

2003-09-24  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (toplevel): Changed definition orders.

2003-09-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb.el (elmo-msgdb-search): New API .
	(elmo-msgdb-match-condition): Ditto.

	* modb-standard.el (elmo-msgdb-search): Define.

	* modb-legacy.el (elmo-msgdb-search): Ditto.

	* modb-entity.el (elmo-msgdb-message-match-condition): Renamed
	from elmo-msgdb-match-condition-internal.

	* elmo.el (elmo-folder-search-fast): Abolish.
	(elmo-folder-search): Use elmo-msgdb-search and
	elmo-with-progress-display.

	* elmo-msgdb.el (elmo-msgdb-match-condition): Removed; redefined
	as msgdb API.

	* elmo.el (elmo-folder): Remove slot message-modified and
	flag-modified.
	(elmo-folder-set-message-modified): Abolish.
	(elmo-generic-folder-commit): Follow the change above.
	(elmo-folder-synchronize): Ditto.

	* elmo-pipe.el (elmo-folder-set-message-modified): Abolish.

	* elmo-multi.el (elmo-folder-set-message-modified): Ditto.

	* elmo-filter.el (elmo-folder-set-message-modified): Ditto.

2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* modb-standard.el (modb-standard-make-message-entity,
	elmo-msgdb-make-message-entity,
	elmo-msgdb-create-message-entity-from-buffer,
	elmo-msgdb-message-entity-number,
	elmo-msgdb-message-entity-set-number,
	elmo-msgdb-message-entity-field,
	elmo-msgdb-message-entity-set-field,
	elmo-msgdb-copy-message-entity,
	elmo-msgdb-match-condition-internal): Remove.

	* modb-entity.el: New file (again).

	* modb.el (toplevel): Require modb-entity.
	(elmo-msgdb-message-entity-handler): New method.

	* modb-standard.el (modb-standard-entity-id): Use
	elmo-message-entity-handler.
	(modb-standard-load-entity): Ditto.
	(elmo-msgdb-append-entity): Ditto.
	(elmo-msgdb-create-message-entity-from-buffer): Ditto.

	* modb-legacy.el (elmo-msgdb-get-decoded-cache,
	elmo-msgdb-decoded-cache-hashtb,
	(modb-legacy-make-message-entity,
	elmo-msgdb-make-message-entity,
	elmo-msgdb-create-message-entity-from-buffer,
	elmo-msgdb-message-entity-number,
	elmo-msgdb-message-entity-set-number,
	elmo-msgdb-message-entity-field,
	elmo-msgdb-message-entity-set-field,
	elmo-msgdb-copy-message-entity,
	elmo-msgdb-match-condition-internal,
	elmo-msgdb-match-condition-primitive): Moved to modb-entity.el.

	* elmo.el (elmo-message-copy-entity): Use elmo-message-entity-handler.
	(elmo-message-entity-set-number): Ditto.
	(elmo-message-entity-field): Ditto.
	(elmo-message-entity-set-field): Ditto.

	* elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Ditto.

	* elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.

	* elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.

	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
	(elmo-nntp-msgdb-create-message): Ditto.

	* elmo-nmz.el (elmo-nmz-msgdb-create-entity): Ditto.
	(elmo-folder-msgdb-create): Add unread flag.

	* elmo-maildir.el (elmo-folder-msgdb-create): Ditto.

	* elmo-localdir.el (elmo-localdir-msgdb-create-entity): Ditto.

	* elmo-imap4.el (elmo-imap4-fetch-callback-1): Ditto.

	* elmo-cache.el (elmo-folder-msgdb-create): Ditto.

	* elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Call
	elmo-msgdb-messge-entity-handler.
	* elmo-version.el (elmo-version): Up to 2.11.17.

2003-09-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-shimbun.el (elmo-shimbun-update-overview): Fixed the last
	change.

2003-09-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-field): Use elmo-message-entity-field.

	* elmo-msgdb.el (elmo-msgdb-get-number): Abolish.
	(elmo-msgdb-get-parent-entity): Use elmo-message-entity-field.
	(elmo-msgdb-flag-table): Ditto.
	(elmo-msgdb-sort-by-date): Ditto.

	* modb.el (elmo-msgdb-create-message-entity-from-file): Define.

	* modb-standard.el (toplevel): Require mime.
	(modb-standard-entity-id): Use elmo-msgdb-message-entity-field.
	(modb-standard-load-entity): Use elmo-msgdb-message-entity-field and
	elmo-msgdb-message-entity-number.
	(elmo-msgdb-append-entity): Ditto.
	(elmo-msgdb-create-message-entity-from-file): Remove.
	(elmo-msgdb-create-message-entity-from-buffer): Use msgdb which
	corresponds to the entity.
	(elmo-msgdb-message-entity-number): Do nothing currently.
	(elmo-msgdb-message-entity-field): Ditto.
	(elmo-msgdb-message-entity-set-field): Ditto.
	(elmo-msgdb-copy-message-entity): Ditto.
	(elmo-msgdb-match-condition-internal): Ditto.

	* modb-legacy.el (elmo-msgdb-insert-file-header): Moved to
	elmo-util.el.
	(elmo-msgdb-create-message-entity-from-file): Remove.

	* elmo-util.el (elmo-msgdb-insert-file-header): Moved from
	modb-legacy.el.
	(elmo-multiple-field-body): Moved from elmo-msgdb.el.

	* elmo-msgdb.el (elmo-multiple-field-body): Moved to elmo-util.el.

2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* modb.el (elmo-msgdb-make-message-entity): Define simple one.
	(elmo-msgdb-message-entity-field): Ditto.
	(elmo-msgdb-message-entity-number): Ditto.

2003-09-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb-standard.el (elmo-msgdb-create-message-entity-from-buffer):
	Fixed how to set extra field into entity.
	(elmo-msgdb-message-entity-set-field): Fixed mistake string for
	symbol.

	* modb-legacy.el (elmo-msgdb-create-message-entity-from-buffer):
	Fixed how to set extra field into entity.
	(elmo-msgdb-message-entity-set-field): Fixed mistake string for
	symbol.

2003-09-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* modb.el (elmo-message-entity-db): New function.
	(elmo-msgdb-make-message-entity): New API.
	(elmo-msgdb-message-entity-number): Ditto.
	(elmo-msgdb-message-entity-set-number): Ditto.
	(elmo-msgdb-message-entity-field): Ditto.
	(elmo-msgdb-message-entity-set-field): Ditto.
	(elmo-msgdb-copy-message-entity): Ditto.
	(elmo-msgdb-create-message-entity-from-file): Ditto.
	(elmo-msgdb-create-message-entity-from-buffer): Ditto.
	(elmo-msgdb-match-condition-internal): Ditto.

	* modb-standard.el (modb-legacy): Require modb-legacy.
	(modb-standard-make-message-entity): New inline function.
	(elmo-msgdb-make-message-entity): Define.
	(elmo-msgdb-create-message-entity-from-file): Ditto.
	(elmo-msgdb-create-message-entity-from-buffer): Ditto.
	(elmo-msgdb-message-entity-field): Ditto.
	(elmo-msgdb-message-entity-set-field): Ditto.
	(elmo-msgdb-copy-message-entity): Ditto.
	(elmo-msgdb-match-condition-internal): Ditto.

	* modb-legacy.el: Don't require modb-entity.
	(elmo-msgdb-decoded-cache-hashtb): Moved from elmo-msgdb.el
	(elmo-msgdb-match-condition-primitive): Ditto.
	(elmo-msgdb-get-decoded-cache): Ditto.
	(elmo-msgdb-overview-entity-get-id): Ditto.
	(elmo-msgdb-overview-entity-get-number): Ditto.
	(elmo-msgdb-overview-entity-set-number): Ditto.
	(elmo-msgdb-overview-entity-get-references): Ditto.
	(elmo-msgdb-overview-entity-set-references): Ditto.
	(elmo-msgdb-overview-entity-get-from-no-decode): Ditto.
	(elmo-msgdb-overview-entity-get-from): Ditto.
	(elmo-msgdb-overview-entity-set-from): Ditto.
	(elmo-msgdb-overview-entity-get-subject): Ditto.
	(elmo-msgdb-overview-entity-get-subject-no-decode): Ditto.
	(elmo-msgdb-overview-entity-set-subject): Ditto.
	(elmo-msgdb-overview-entity-get-date): Ditto.
	(elmo-msgdb-overview-entity-set-date): Ditto.
	(elmo-msgdb-overview-entity-get-to): Ditto.
	(elmo-msgdb-overview-entity-get-cc): Ditto.
	(elmo-msgdb-overview-entity-get-size): Ditto.
	(elmo-msgdb-overview-entity-set-size): Ditto.
	(elmo-msgdb-overview-entity-get-extra): Ditto.
	(elmo-msgdb-overview-entity-set-extra): Ditto.
	(elmo-msgdb-overview-entity-get-extra-field): Ditto.
	(elmo-msgdb-overview-entity-set-extra-field): Ditto.
	(elmo-msgdb-number-load): Ditto.
	(elmo-msgdb-overview-load): Ditto.
	(elmo-msgdb-mark-load): Ditto.
	(elmo-msgdb-number-save): Ditto.
	(elmo-msgdb-mark-save): Ditto.
	(elmo-msgdb-overview-save): Ditto.
	(modb-legacy-make-message-entity): New inline function.
	(elmo-msgdb-insert-file-header): Ditto.
	(elmo-msgdb-make-message-entity): Define.
	(elmo-msgdb-create-message-entity-from-file): Ditto.
	(elmo-msgdb-create-message-entity-from-buffer): Ditto.
	(elmo-msgdb-message-entity-number): Ditto.
	(elmo-msgdb-message-entity-set-number): Ditto.
	(elmo-msgdb-message-entity-field): Ditto.
	(elmo-msgdb-message-entity-set-field): Ditto.
	(elmo-msgdb-copy-message-entity): Ditto.
	(elmo-msgdb-match-condition-internal): Ditto.

	* elmo.el (elmo-find-fetch-strategy): Use elmo-message-entity-field.
	(elmo-message-copy-entity): Rewrite.
	(elmo-message-entity-number): Ditto.
	(elmo-message-entity-set-number): Ditto.
	(elmo-message-entity-field): Use elmo-message-entity-db.
	(elmo-message-entity-set-field): Ditto.
	(elmo-message-field): Rewrite.

	* elmo-util.el (elmo-msgdb-get-last-message-id): Moved from
	elmo-msgdb.el
	(elmo-msgdb-get-message-id-from-buffer): Ditto.

	* elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
	elmo-message-entity-field.
	(elmo-shimbun-folder-shimbun-header): Ditto.
	(elmo-shimbun-entity-to-header): Ditto.
	(elmo-folder-msgdb-create): Ditto.
	(elmo-shimbun-msgdb-create-entity): Ditto;
	Use elmo-msgdb-create-message-entity-from-buffer.
	(elmo-shimbun-update-overview): Use elmo-message-entity-set-field.
	(elmo-map-folder-list-message-locations): elmo-message-entity-field.

	* elmo-sendlog.el (elmo-folder-msgdb-create): Use
	elmo-msgdb-create-message-entity-from-file and
	elmo-message-entity-field.

	* elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
	elmo-message-entity-number.
	(elmo-pop3-msgdb-create-message): Use
	elmo-msgdb-create-message-entity-from-buffer,
	elmo-message-entity-set-field, elmo-message-entity-number and
	elmo-message-entity-set-number.

	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Follow
	the API change in elmo-msgdb-make-message-entity.
	(elmo-nntp-msgdb-create-message): Use
	elmo-msgdb-create-message-entity-from-buffer.

	* elmo-nmz.el (elmo-nmz-msgdb-create-entity): Use
	elmo-message-entity-field and
	elmo-msgdb-create-message-entity-from-file.

	* elmo-msgdb.el (toplevel): Don't require modb-entity.
	(elmo-msgdb-get-field): Abolish.
	(elmo-msgdb-get-number): Rewrite.
	(elmo-msgdb-sort-by-date): Use elmo-message-entity-field.
	(elmo-msgdb-flag-table): Ditto.
	(elmo-msgdb-get-last-message-id,
	elmo-msgdb-number-load, elmo-msgdb-overview-load,
	elmo-msgdb-mark-load, elmo-msgdb-number-save,
	elmo-msgdb-mark-save, elmo-msgdb-overview-save): Moved to modb-legacy.
	(elmo-msgdb-create-overview-from-buffer,
	elmo-msgdb-overview-get-parent-entity): Abolish.

	* elmo-mime.el (elmo-mime-display-as-is): Use
	elmo-message-entity-field.

	* elmo-map.el (elmo-folder-pack-numbers): Use
	elmo-message-entity-set-number.

	* elmo-maildir.el (elmo-folder-msgdb-create):
	elmo-msgdb-create-message-entity-from-file instead of
	elmo-msgdb-create-overview-entity-from-file.

	* elmo-localdir.el (elmo-localdir-msgdb-create-entity): Added argument
	msgdb.
	(elmo-folder-msgdb-create): Use elmo-message-entity-field.
	(elmo-folder-pack-numbers): Use elmo-message-entity-set-number.

	* elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Use
	elmo-messge-entity-field and elmo-message-entity-number.
	(elmo-imap4-fetch-callback-1): Call
	elmo-msgdb-create-message-entity-from-buffer instead of
	elmo-msgdb-create-overview-from-buffer.
	(elmo-folder-msgdb-create-plugged): Use elmo-messge-entity-field.
	(elmo-find-fetch-strategy): Likewise.

	* elmo-flag.el (elmo-folder-msgdb-create): Call
	elmo-localdir-msgdb-create-entity with argument msgdb.

	* elmo-dop.el (elmo-dop-msgdb): Use elmo-message-entity-number
	and elmo-message-entity-set-number.

	* elmo-cache.el (elmo-folder-msgdb-create): Use
	elmo-message-entity-field.
	(elmo-folder-msgdb-create): Call
	elmo-msgdb-create-message-entity-from-file instead of
	elmo-msgdb-create-overview-entity-from-file.

	* elmo-archive.el (elmo-archive-msgdb-create-entity-subr): Added
	argument msgdb; Call elmo-msgdb-create-message-from-buffer
	instead of elmo-msgdb-create-overview-from-buffer.
	(elmo-archive-msgdb-create-entity): Ditto.
	(elmo-archive-msgdb-create-as-numlist-subr1): Use
	elmo-message-entity-field.
	(elmo-archive-parse-mmdf): Ditto.

	* modb-entity.el: Removed.

	* elmo-version.el (elmo-version): Up to 2.11.16.

2003-09-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-map.el (elmo-folder-unflag-answered): Added optional argument
	`is-local'.
	(elmo-folder-flag-as-answered): Ditto.

2003-09-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb-standard.el: New file.

	* elmo.el (elmo-folder-clear): Reconstruct msgdb if
	elmo-msgdb-convert-type is `sync'.

	* elmo-vars.el (elmo-msgdb-default-type): Added `standard'.
	(elmo-msgdb-convert-type): New user option.

	* elmo-msgdb.el (elmo-msgdb-load-priorities): New internal variable.
	(elmo-load-msgdb): Auto detect saved type.

	* elmo-version.el (elmo-version): Up to 2.11.15.

2003-09-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-flag.el (elmo-folder-list-global-flag-messages): New function.

	* elmo.el (elmo-folder-delete-messages): Added notice in docstring.
	(elmo-folder-move-messages): Call elmo-global-flag-detach-messages
	with argument `delete-if-none' when dst-folder is 'null.

	* elmo-flag.el (elmo-folder-append-messages): Defined.
	(elmo-global-flag-detach-messages): Added argumnet `delete-if-none'.

2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-flag.el (elmo-folder-initialize): Fixed ("/.minfo"->".minfo").

2003-09-18  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-flag.el (elmo-folder-expand-msgdb-path): Define.
	(elmo-folder-initialize): Use `elmo-folder-msgdb-path'.
	(elmo-folder-commit): Ditto.

2003-09-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-flag.el: New file.

	* elmo-mark.el: Removed.

	* modb-legacy.el (modb-legacy-new-mark,
	modb-legacy-unread-uncached-mark,
	modb-legacy-unread-cached-mark,
	modb-legacy-read-uncached-mark,
	modb-legacy-answered-cached-mark,
	modb-legacy-answered-uncached-mark,
	modb-legacy-important-mark): New constants (Moved from elmo-msgdb.el);
	All other related portions are changed.

	* elmo.el (luna-define-class): Changed mark-modified to flag-modified.
	(elmo-folder-list-messages-with-global-mark): Abolish.
	(elmo-folder-unflag-important): Renamed from `mark' to `flag'.
	(elmo-folder-flag-as-important): Ditto.
	(elmo-folder-unflag-read): Ditto.
	(elmo-folder-flag-as-read): Ditto.
	(elmo-folder-unflag-answered): Ditto.
	(elmo-folder-flag-as-answered): Ditto.
	(elmo-message-encache): Return the cache path.
	(elmo-folder-move-messages): Call elmo-global-flag-detach-messages.
	(elmo-message-set-flag): Transitional implementation.
	(elmo-message-unset-flag): Ditto.
	(elmo-folder-unflag-important): Call elmo-global-flag-detach.
	(elmo-folder-flag-as-important): Call elmo-global-flag-set.
	(elmo-init): Call elmo-global-flag-initialize.
	(toplevel): Added autoload settings for elmo-flag.

	* elmo-vars.el (elmo-msgdb-global-mark-filename): Abolished.

	* elmo-util.el: Removed all elmo-msgdb-global-mark stuff.
	(elmo-file-cache-delete): Don't treat global-mark.

	* elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.

	* elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.

	* elmo-pop3.el (elmo-pop3-msgdb-create-message): Call
	`elmo-global-flags-set'.

	* elmo-pipe.el (elmo-folder-flag-as-read): Renamed from `mark' to
	`flag'.
	(elmo-folder-unflag-read): Ditto.
	(elmo-folder-unflag-important): Ditto.
	(elmo-folder-flag-as-important): Ditto.
	(elmo-folder-unflag-answered): Ditto.
	(elmo-folder-flag-as-answered): Ditto.

	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Call
	`elmo-global-flags-set'.
	(elmo-folder-flag-as-read): Renamed from `mark' to `flag'.

	* elmo-nmz.el (elmo-folder-msgdb-create): Always put `new' flag.

	* elmo-net.el (elmo-folder-unflag-important): Renamed from `mark' to
	`flag'.
	(elmo-folder-flag-as-important): Ditto.
	(elmo-folder-unflag-important): Ditto.
	(elmo-folder-flag-as-important): Ditto.
	(elmo-folder-unflag-read): Ditto.
	(elmo-folder-flag-as-read): Ditto.
	(elmo-folder-unflag-answered): Ditto.
	(elmo-folder-flag-as-answered): Ditto.

	* elmo-multi.el (elmo-folder-list-importants): Don't call
	elmo-folder-list-messages-with-global-mark.
	(elmo-folder-flag-as-important): Renamed from `mark' to `flag'.
	(elmo-folder-unflag-important): Ditto.
	(elmo-folder-flag-as-read): Ditto.
	(elmo-folder-unflag-read): Ditto.
	(elmo-folder-flag-as-answered): Ditto.
	(elmo-folder-unflag-answered): Ditto.

	* elmo-msgdb.el (elmo-msgdb-new-mark,
	elmo-msgdb-unread-uncached-mark, elmo-msgdb-unread-cached-mark,
	elmo-msgdb-read-uncached-mark, elmo-msgdb-answered-cached-mark,
	elmo-msgdb-answered-uncached-mark, elmo-msgdb-important-mark): Removed
	(Moved to modb-legacy.el).
	(elmo-flag-table-get): Treat important flag too.

	* elmo-map.el (elmo-map-folder-unflag-important): Renamed from
	`mark' to `flag'.
	(elmo-map-folder-flag-as-important): Ditto.
	(elmo-map-folder-unflag-read): Ditto.
	(elmo-map-folder-flag-as-read): Ditto.
	(elmo-map-folder-unflag-answered): Ditto.
	(elmo-map-folder-flag-as-answered): Ditto.
	(elmo-folder-unflag-important): Ditto.
	(elmo-folder-flag-as-important): Ditto.
	(elmo-folder-unflag-read): Ditto.
	(elmo-folder-flag-as-read): Ditto.
	(elmo-folder-unflag-answered): Ditto.
	(elmo-folder-flag-as-answered): Ditto.

	* elmo-maildir.el (elmo-folder-msgdb-create): Ditto.
	(elmo-map-folder-flag-as-important): Renamed from `mark' to
	`flag'.
	(elmo-map-folder-unflag-important): Ditto.
	(elmo-map-folder-flag-as-read): Ditto.
	(elmo-map-folder-unflag-read): Ditto.
	(elmo-map-folder-flag-as-answered): Ditto.
	(elmo-map-folder-unflag-answered): Ditto.

	* elmo-localdir.el (elmo-folder-msgdb-create): Call
	`elmo-global-flags-set'.
	(elmo-global-flags-set): Added autoload setting.

	* elmo-internal.el (elmo-internal-folder-list): Changed `mark' to
	`flag'.

	* elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Don't call
	`elmo-msgdb-global-mark-set'.
	(elmo-folder-msgdb-create-plugged): Changed callback-data structure;
	Call `elmo-global-flags-set'.
	(elmo-folder-unflag-important-plugged): Renamed from `mark' to
	`flag'.
	(elmo-folder-flag-as-important-plugged): Ditto.
	(elmo-folder-unflag-read-plugged): Ditto.
	(elmo-folder-flag-as-read-plugged): Ditto.
	(elmo-folder-unflag-answered-plugged): Ditto.
	(elmo-folder-flag-as-answered-plugged): Ditto.
	(elmo-global-flags-set): Added autoload setting.

	* elmo-filter.el (elmo-folder-flag-as-read): Renamed from `mark' to
	`flag'.
	(elmo-folder-unflag-read): Ditto.
	(elmo-folder-flag-as-important): Ditto.
	(elmo-folder-unflag-important): Ditto.
	(elmo-folder-flag-as-answered): Ditto.
	(elmo-folder-unflag-answered): Ditto.

	* elmo-dop.el (elmo-dop-queue-merge-method-list): Follow the API
	change of `mark'->`flag'.
	(elmo-dop-queue-method-name-alist): Ditto.
	(elmo-folder-flag-as-read-dop): Renamed from `mark' to `flag'.
	(elmo-folder-unflag-read-dop): Ditto.
	(elmo-folder-flag-as-important-dop): Ditto.
	(elmo-folder-unflag-important-dop): Ditto.
	(elmo-folder-flag-as-answered-dop): Ditto.
	(elmo-folder-unflag-answered-dop): Ditto.

	* elmo-cache.el (elmo-folder-msgdb-create): Call
	`elmo-global-flags-set'.

	* elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
	Call `elmo-global-flags-set'.
	(elmo-archive-msgdb-create-as-numlist-subr2): Call
	elmo-archive-parse-mmdf with argument `folder'.
	(elmo-archive-parse-mmdf): Added argument `folder';
	Call `elmo-global-flags-set'.

	* elmo-version.el (elmo-version): Up to 2.11.14.

2003-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb.el (elmo-msgdb-length): Define.

	* elmo.el (elmo-make-folder): Fixed.
	(elmo-generic-folder-append-messages): Follow the API change.

	* elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Follow the
	API change.

2003-09-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* modb.el: New file.

	* modb-entity.el: Ditto.

	* modb-legacy.el: Ditto.

	* elmo-msgdb.el (elmo-make-msgdb): Added 2nd argument `type'.
	(elmo-msgdb-get-number): Use `elmo-msgdb-message-entity' instead
	of `elmo-msgdb-overview-get-entity'.
	(elmo-msgdb-get-field): Ditto.
	(elmo-msgdb-merge): Moved to `elmo.el'.
	(elmo-msgdb-length): Removed; redefine as modb method.
	(elmo-msgdb-change-mark): Abolish.
	(elmo-msgdb-out-of-date-messages): Rewrite; don't use it.
	(elmo-msgdb-match-condition): Don't use mark.
	(elmo-msgdb-overview-get-entity): Abolish.
	Split modb part into `modb*.el'.

	* elmo-vars.el (elmo-msgdb-default-type): New user option.

	* elmo-shimbun.el (shimbun-mua-search-id): Use
	`elmo-msgdb-message-entity' instead of
	`elmo-msgdb-overview-get-entity'.
	(elmo-shimbun-folder-shimbun-header): Ditto.
	(elmo-shimbun-get-headers): Ditto.
	(elmo-shimbun-update-overview): Ditto.

	* elmo-mime.el (elmo-mime-display-as-is): Ditto.

	* elmo-filter.el (elmo-folder-msgdb-create): Ditto.

	* elmo.el (elmo-folder-list-messages-with-global-mark): Ditto.
	(elmo-msgdb-merge): Moved from `elmo-msgdb.el'.

	* elmo-mark.el (elmo-mark-folder-msgdb-create): Don't use
	`elmo-msgdb-mark-to-flags'.

	* elmo-map.el (elmo-folder-pack-numbers): Don't use
	`elmo-msgdb-set-path'.

	* elmo-localdir.el (elmo-folder-pack-numbers): Ditto.

	* elmo-version.el (elmo-version): Up to 2.11.13.

	* elmo.el (elmo-generic-folder-commit): Don't load msgdb.

	* elmo-mark.el (elmo-mark-folder-msgdb-create): Use flag instead
	of mark.

2003-09-14  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Fixed paren
	mismatch.

2003-09-14  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-cached-p): Use `elmo-message-flagged-p'
	instead of `elmo-msgdb-get-cached'.
	(elmo-message-set-cached): Don't use `elmo-msgdb-set-cached'.

	* elmo-msgdb.el (elmo-msgdb-get-cached): Abolish.
	(elmo-msgdb-set-cached): Ditto.
	(elmo-msgdb-set-flag): Rewrite.
	(elmo-msgdb-unset-flag): Ditto.

	* elmo-msgdb.el: Rewrite with luna.

	* elmo.el (elmo-folder-msgdb-load): Renamed from `elmo-msgdb-load'.
	(elmo-folder-msgdb): Follow the change above.
	(elmo-generic-folder-commit): Use `elmo-msgdb-save'.
	(elmo-folder-unmark-important): Follow the API change.
	(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-clear): Likewise.

	* elmo-imap4.el (elmo-folder-open): Use `elmo-folder-msgdb-load'
	instead of `elmo-msgdb-load' (renamed).

	* elmo-version.el (elmo-version): Up to 2.11.12.

2003-09-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-generic-folder-append-messages): Follow the API
	change.
	(elmo-message-mark): Abolish.
	(elmo-folder-synchronize): Use `elmo-msgdb-out-of-date-messages'
	instead of `elmo-msgdb-change-mark'.

	* elmo-pipe.el (elmo-message-mark): Abolish.

	* elmo-multi.el (elmo-message-mark): Ditto.

	* elmo-msgdb.el (elmo-msgdb-new-mark): Changed to constant.
	(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-flags-to-mark): Remove arguments `cached' and
	`use-cache'.
	(elmo-msgdb-append-entity): Changed 3rd arg from `mark' to
	`flags'.
	(elmo-flag-table-load): Changed flag to list of flag.
	(elmo-flag-table-set): If flags is nil, set read flag.
	(elmo-flag-table-get): Return derived flags from global mark,
	cache status and saved flags.
	(elmo-msgdb-flag-table): Follow the change above.
	(elmo-msgdb-out-of-date-messages): New function.

	* elmo-shimbun.el (elmo-folder-msgdb-create): Follow the API change.

	* elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.

	* elmo-pop3.el (elmo-pop3-msgdb-create-message): Ditto.

	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Ditto.
	(elmo-nntp-msgdb-create-message): Ditto.

	* elmo-map.el (elmo-folder-pack-numbers): Ditto.

	* elmo-maildir.el (elmo-maildir-list-location): Treat flags as
	independent.
	(elmo-folder-msgdb-create): Follow the API change.

	* elmo-localdir.el (elmo-folder-msgdb-create): Ditto.
	(elmo-folder-append-messages): Ditto.

	* elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
	(elmo-folder-append-buffer): Ditto.

	* elmo-filter.el (elmo-folder-msgdb-create): Ditto.

	* elmo-cache.el (elmo-folder-msgdb-create): Ditto.

	* elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1): Ditto.
	(elmo-archive-parse-mmdf): Ditto.

	* elmo-version.el (elmo-version): Up to 2.11.11.

2003-09-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-flags): Use `elmo-msgdb-flags' instead of
	`elmo-msgdb-mark'.

	* elmo-util.el (elmo-with-progress-display): Fixed edebug spec.

	* elmo-pipe.el (elmo-message-flags): Defined.

	* elmo-multi.el (elmo-message-flags): Ditto.

2003-09-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-delete-messages): Renamed from
	`elmo-msgdb-delete-msgs'.

	* elmo.el (elmo-folder-count-flags): Don't use
	`elmo-msgdb-get-mark-alist'.
	(elmo-folder-detach-messages): Follow the API change.

	* elmo.el (elmo-folder-list-messages): Append killed messages into
	result if `visible-only' is nil.

	* elmo-nntp.el (elmo-nntp-catchup-msgdb): Return a list of
	canceled messages.
	(elmo-nntp-folder-msgdb-create): Kill messages which already canceled.
	(elmo-folder-update-number): Likewise.

	* elmo-pop3.el (elmo-pop3-sort-overview-by-original-number): Abolish.
	(elmo-pop3-sort-msgdb-by-original-number): Use
	`elmo-msgdb-sort-entities'.

	* elmo-msgdb.el (elmo-msgdb-sort-entities): New function.
	(elmo-msgdb-sort-by-date): Use it.
	(elmo-msgdb-overview-sort-by-date): Abolish.

	* elmo-dop.el (elmo-folder-status-dop): Fixed.

	* elmo-msgdb.el (elmo-msgdb-list-messages): Undo last change.
	(elmo-msgdb-flags): New function.
	(elmo-msgdb-merge): Use elmo-msgdb-append.

	* elmo-localdir.el (elmo-folder-pack-numbers): Fixed the last
	change.

	* elmo-map.el (elmo-folder-pack-numbers): Ditto.

	* elmo-dop.el (elmo-folder-status-dop): Use
	elmo-folder-list-messages instead of elmo-msgdb-list-messages.

2003-09-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-map.el (elmo-folder-pack-numbers): Rewrite.

	* elmo-localdir.el (elmo-folder-pack-numbers): Fixed last change.

	* elmo-msgdb.el (elmo-msgdb-append-entity): Fixed.

	* elmo-util.el (elmo-with-progress-display): New macro.

	* elmo-localdir.el (elmo-folder-pack-numbers): Rewrite.

2003-09-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-shimbun.el (elmo-shimbun-folder-entity-hash): Use
	`elmo-folder-list-message-entities' instead of
	`elmo-msgdb-get-overview'.
	(elmo-map-folder-list-message-locations): Ditto.

	* elmo-msgdb.el (elmo-msgdb-append): Rewrite (use interface
	methods instead of treat directly).
	(elmo-msgdb-clear): Ditto.
	(elmo-msgdb-delete-msgs): Ditto.
	(elmo-msgdb-sort-by-date): Ditto.

	* elmo-nntp.el (elmo-nntp-msgdb-create-message): Removed unused
	local variables.
	(elmo-nntp-folder-msgdb-create): Follow the API change.

	* elmo-version.el (elmo-version): Up to 2.11.10.

2003-08-30  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-mark-to-flags): New function.
	(elmo-msgdb-flags-to-mark): Ditto.
	(elmo-msgdb-append-entity): Ditto.

	* elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
	Use `elmo-msgdb-append-entity' instead of construct msgdb.
	(elmo-archive-msgdb-create-as-numlist-subr2): Ditto.
	(elmo-archive-parse-mmdf): Ditto.

	* elmo-cache.el (elmo-folder-msgdb-create): Ditto.

	* elmo-filter.el (elmo-folder-msgdb-create): Ditto.

	* elmo-localdir.el (elmo-folder-msgdb-create): Ditto.

	* elmo-maildir.el (elmo-folder-msgdb-create): Ditto.

	* elmo-mark.el (elmo-mark-folder-msgdb-create): Ditto.

	* elmo-nmz.el (elmo-folder-msgdb-create): Ditto.

	* elmo-sendlog.el (elmo-folder-msgdb-create): Ditto.

	* elmo-shimbun.el (elmo-folder-msgdb-create): Ditto.

	* elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Ditto.
	(elmo-folder-msgdb-create-plugged): Set elmo-imap4-current-msgdb
	to empty msgdb.

	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string): Use
	`elmo-msgdb-make-message-entity' and `elmo-msgdb-append-entity'
	instead of directly construction.
	(elmo-nntp-msgdb-create-message): Use `elmo-msgdb-append-entity'
	instead of construct msgdb.

	* elmo-pop3.el (elmo-pop3-sort-msgdb-by-original-number): Use
	`elmo-msgdb-set-overview' instead of reconstruct msgdb.
	(elmo-pop3-msgdb-create-message): Use `elmo-msgdb-append-entity'
	instead of construct msgdb.

2003-08-28  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-message-entity-field): Decode value
	when field is from or subject.

2003-08-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-multi.el (elmo-message-entity-parent): Define.
	(elmo-folder-search): Rewrite.

2003-08-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-multi.el (elmo-message-cached-p): Define.

	* elmo.el (elmo-message-cached-p): New method.
	(elmo-message-accessible-p): Use it instead of msgdb API directly.
	(elmo-message-flags): New method.
	(elmo-message-flagged-p): New function.

	* elmo-version.el (elmo-version): Up to 2.11.9.

2003-08-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-version.el (elmo-version): Up to 2.11.8.

	* elmo.el (elmo-folder-move-messages): Removed unused arguments.

	* elmo-pipe.el (elmo-pipe-drain): Follow the change above.

2003-08-14  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-detach-messages): Undo last change.

2003-08-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-detach-messages): Don't load msgdb if empty.

	* elmo-pipe.el (elmo-pipe-drain): Bind elmo-inhibit-number-mapping
	only when src folder type is pop3.

2003-08-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-make-index): Use
	elmo-msgdb-overview-entity-get-number instead of
	elmo-message-entity-number.

2003-08-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-version.el (elmo-version): Up to 2.11.7.

2003-08-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-append-msgdb): Rewrite and define as an inline
	function.

	* elmo-msgdb.el (elmo-msgdb-append): Use elmo-msgdb-make-index-return.
	(elmo-msgdb-merge): New function.
	(elmo-msgdb-make-index-return): Renamed from elmo-msgdb-make-index.
	(elmo-msgdb-make-index): Rewrite.

	* elmo-version.el (elmo-version): Up to 2.11.6.

	* elmo-msgdb.el (elmo-msgdb-list-messages): If argument is a string,
	use it as a the path for loading message entities.

	* elmo-dop.el (elmo-folder-status-dop): Use elmo-msgdb-list-messages.

2003-08-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-filter.el (elmo-folder-set-message-modified): Set
	message-modified slot of itself if it does not require target msgdb.

	* elmo-mime.el (elmo-mime-message-display): Display message entirely
	if folder length is zero.
	(elmo-mime-display-as-is): Ditto.

	* elmo-filter.el (elmo-folder-set-message-modified): Define.

	* elmo-multi.el (elmo-folder-set-message-modified): Ditto.

2003-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-set-message-modified): New method.
	(elmo-generic-folder-commit): Use it.
	(elmo-folder-synchronize): Ditto.

	* elmo-pipe.el (elmo-folder-set-message-modified): Define.
	(elmo-folder-commit): Remove duplicate definition.

2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-list-message-entities): Ignore killed-list.

2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-msgdb-load): Use elmo-msgdb-list-messages.
	(elmo-strict-folder-diff): Ditto.
	(elmo-folder-set-info-max-by-numdb): Simplify.

	* elmo-nntp.el (elmo-nntp-folder-msgdb-create): Use
	elmo-msgdb-list-messages.

	* elmo-msgdb.el (elmo-msgdb-seen-save): Abolish.
	(elmo-msgdb-list-flagged): Fixed problem when `flag' is `read'.

2003-08-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-list-messages): Treat killed-list only when
	visible-only is non-nil.
	(elmo-folder-confirm-appends): Changed message.
	(elmo-folder-synchronize): Added argument disable-killed.

	* elmo-multi.el (elmo-folder-synchronize): Added argument
	disable-killed.

	* elmo-pipe.el (elmo-folder-synchronize): Ditto.

	* elmo-version.el (elmo-version): Up to 2.11.5.

	* elmo-multi.el (elmo-folder-search): Use nil for 1st argument of
	elmo-list-filter.

	* elmo-util.el (elmo-list-filter): Simplify.

	* elmo.el (elmo-generic-folder-commit): Use elmo-folder-list-messages.
	(elmo-folder-set-info-max-by-numdb): Changed argument to number list.
	(elmo-generic-folder-diff): Abolish argument.
	(elmo-msgdb-load): Don't use number-alist.

	* elmo-filter.el (elmo-folder-diff): Abolish argument.

	* elmo-pipe.el (elmo-folder-diff): Ditto.

	* elmo-nmz.el (elmo-folder-diff): Ditto.

	* elmo-net.el (elmo-folder-diff): Ditto.

	* elmo-maildir.el (elmo-folder-diff): Ditto.

	* elmo-imap4.el (elmo-folder-diff-async): Ditto.

	* elmo-multi.el (elmo-folder-diff): Ditto
	(elmo-multi-folder-diff): Rewrite.

2003-08-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-folder-msgdb): Define.

2003-08-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-set-cached): Define as a method.

	* elmo-pipe.el (elmo-message-set-cached): Define.
	(elmo-find-fetch-strategy): Ditto.

	* elmo-multi.el (elmo-message-set-cached): Define.
	(elmo-find-fetch-strategy): Rewrite.

	* elmo-mime.el (elmo-mime-message-display): Use elmo-message-entity.

	* elmo-pipe.el (elmo-message-folder): Fixed definition.

2003-07-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-list-messages): Use number of overviews
	instead of number-alist.

	* elmo-localdir.el (elmo-folder-append-messages): Don't refer
	mark nor message-id when msgdb of source folder is not loaded.

	* elmo.el (elmo-generic-folder-append-messages): Ditto.

	* elmo-maildir.el (elmo-folder-append-messages): Ditto.

2003-07-29  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-length): Don't require msgdb.

2003-07-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-mark): Cause an error when empty folder.
	(elmo-message-field): Ditto.

	* elmo-maildir.el (luna-define-class): Added slot `answered-locations'.
	(elmo-map-folder-list-message-locations): Setup `answered-locations'
	slot.
	(elmo-map-folder-list-answereds): Define.
	(elmo-maildir-list-location): Treat 'R' info.
	(elmo-folder-msgdb-create): Treat flag-table.
	(elmo-folder-append-messages): Save flag-table.

2002-05-05  David Smith <ultrasoul@ultrasoul.com>

	* elmo-imap4.el (elmo-imap4-folder-diff-plugged):
	Use SELECT when	elmo-imap4-use-select-to-update-status is t.

2003-07-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-generic-folder-append-messages): Fixed last change.

	* elmo-localdir.el (elmo-folder-append-messages): Set flag as
	'read when mark is null.

2003-07-24  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.11.4.

2003-07-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-folder-unmark-answered): Define.
	(elmo-folder-mark-as-answered): Ditto.

2003-07-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-exists-exactly): Set default value as nil.
	(elmo-pop3-get-session): Make msgdb directory after session.
	(elmo-folder-exists-p): Check exactly at the first time even when the
	elmo-pop3-exists-exactly is nil.

	* elmo-pipe.el (elmo-folder-open-internal): Don't drain here.
	(elmo-folder-list-messages): Define instead of
	elmo-folder-list-messages-internal.
	(elmo-folder-check): Check destination folder.
	(elmo-folder-synchronize): Drain the pipe.

	* elmo-localdir.el (elmo-folder-append-messages): Don't cause an error
	when msgdb is not loaded.

	* elmo-msgdb.el (elmo-msgdb-append-to-killed-list): Abolish.

	* elmo-imap4.el (elmo-folder-list-messages-plugged): Fixed.
	(elmo-imap4-folder-diff-plugged): Use uidnext to calculate number of
	messages.

	* elmo.el (elmo-folder-kill-messages-before): New function.
	(elmo-folder-kill-messages): Ditto.
	(elmo-folder-synchronize): Use elmo-folder-kill-messages-before.

	* elmo-imap4.el (elmo-folder-list-messages-plugged):
	Don't use elmo-msgdb-max-of-killed. It is harmful when messages are
	killed not by synchronize (e.g. scoring).

2003-07-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-search-fast): Return t if condition is not
	treated.
	(elmo-folder-search): Follow the change above.

	* elmo-util.el (elmo-read-search-condition-internal): Add `Flag'
	into the candidates of search field.

2003-07-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-set-flag): Overwrite answered flag.
	(elmo-msgdb-unset-flag): Ditto.

	* elmo-imap4.el (elmo-imap4-fetch-callback-1-subr): Precedes Seen flag.

2003-07-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pipe.el (elmo-folder-msgdb-create): Don't define.
	(elmo-folder-commit): Define.
	(elmo-folder-synchronize): Ditto.
	(elmo-folder-list-flagged): Ditto.
	(elmo-folder-commit): Ditto.
	(elmo-folder-length): Ditto.
	(elmo-folder-count-flags): Ditto.
	(elmo-message-mark): Ditto.
	(elmo-message-field): Ditto.
	(elmo-message-entity): Ditto.
	(elmo-message-folder): Ditto.

2003-07-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-field): Define as a method.

	* elmo-multi.el (elmo-message-entity): Fixed bug when no entity found.
	(elmo-message-field): Define.

	* elmo.el (elmo-folder-list-unreads): Don't use msgdb API.
	(elmo-folder-list-importants): Ditto.
	(elmo-folder-list-answereds): Ditto.

	* elmo-multi.el (elmo-folder-mark-as-important): Remove :before
	qualifier.
	(elmo-folder-mark-as-read): Ditto.
	(elmo-folder-unmark-read): Ditto.
	(elmo-folder-mark-as-answered): Ditto.
	(elmo-folder-unmark-answered): Ditto.
	(elmo-folder-list-flagged): Define.
	(elmo-folder-commit): Ditto.
	(elmo-folder-length): Ditto.
	(elmo-folder-count-flags): Ditto.

2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-detach-messages): New method.
	(elmo-folder-move-messages): Use it.
	(elmo-folder-synchronize): Ditto.

	* elmo-multi.el (elmo-folder-detach-messages): Define.

	* elmo.el (elmo-message-copy-entity): New function.
	(elmo-message-entity-set-number): Ditto.
	(elmo-message-mark): Define as method.

	* elmo-multi.el (elmo-multi-real-folder-number): Changed position.
	(elmo-folder-synchronize): Return 0 (Should be reconsider).
	(elmo-message-entity): Fixed last change.
	(elmo-message-mark): Define.
	(elmo-folder-msgdb-create): Abolish.
	(elmo-multi-folder-append-msgdb): Ditto.
	(elmo-multi-folder-diff): Fixed.
	(elmo-multi-split-number-alist): Removed.
	(elmo-multi-split-mark-alist): Removed.
	(elmo-folder-list-messages): Define.
	(elmo-folder-list-messages-internal): Removed.

	* elmo-localdir.el (elmo-folder-append-messages): Treat flags for
	local file messages.
	(elmo-folder-msgdb-create): Fixed read mark.

2003-07-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-generic-folder-append-messages): Set flag as nil
	if mark is nil.

2003-07-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-list-message-entities): Define as inline
	function.
	(elmo-folder-messages): Abolish.

	* elmo-multi.el (elmo-folder-check): Call elmo-folder-check for each
	folder.
	(elmo-folder-synchronize): Define.
	(elmo-message-entity): Define.

2003-07-16  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-folder-delete-messages-plugged): Call
	elmo-imap4-session-select-mailbox.

	* elmo.el (elmo-folder-move-messages): Don't display any message.

	* elmo-imap4.el (elmo-imap4-send-command): Accept process output when
	parsing.
	(elmo-imap4-session-check): Don't wait CHECK response.
	(elmo-folder-delete-messages-plugged): Don't wait EXPUNGE response.

2003-07-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-synchronize): Fixed bug when sync-all.

2003-07-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-multi.el (elmo-folder-process-crosspost): Follow the change in
	API.
	* elmo-nntp.el (elmo-folder-process-crosspost): Ditto.


	* elmo.el (elmo-folder-process-crosspost): Remove optional argument.
	(elmo-folder-list-message-entities): Added argument in-msgdb and
	numbers.
	(elmo-folder-synchronize): Define as a method.

	* elmo-nntp.el (elmo-folder-initialize): Don't use
	elmo-nntp-default-user if zero-length username is specified
	explicitly.

2003-07-06  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't omit
	server name in case with username.
	(XXX: this is ad-hoc fix against username includes "@", it
	should be solved fundamentally)

2003-07-05  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-nntp.el (elmo-nntp-debug): New function.
	(elmo-nntp-send-command, elmo-nntp-process-filter): Call it.
	(elmo-network-authenticate-session): Hide auth-info from the log.

	* elmo-nntp.el (elmo-nntp-folder-list-subfolders): Don't append
	user name if it is equal to elmo-nntp-default-user.

2003-06-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-shimbun-get-headers): Use shimbun-server
	instead of shimbun-server-internal;
	Use shimbun-current-group instead of shimbun-current-group-internal.
	(elmo-folder-plugged-p): Use shimbun-server instead of
	shimbun-server-internal.
	(elmo-folder-set-plugged): Ditto.
	(elmo-net-port-info): Ditto.
	(elmo-folder-check): Ditto.
	(elmo-folder-expand-msgdb-path): Ditto.
	(elmo-folder-list-subfolders): Ditto.

2003-05-18  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra-field):
	Convert field-name to lower case.
	(elmo-msgdb-overview-entity-set-extra-field): Ditto.

2003-05-12  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* acap.el, elmo-imap4.el, elmo-nntp.el, elmo-util.el, pldap.el:
	`message' and `error' take format string.

2003-04-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-folder-clear): Implemented clear copied-list.

2003-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-message-entity-field): Don't use self
	recursive call (can't byte compile on emacs 20.7).

2003-04-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-list-messages): Redefine as a luna method.
	(elmo-folder-list-message-entities): New API.
	(elmo-message-entity): Ditto.
	(elmo-message-entity-parent): Ditto.
	(elmo-folder-do-each-message-entity): Ditto.
	(elmo-message-entity-number): Ditto.
	(elmo-message-entity-field): Ditto.
	(elmo-message-entity-set-field): Ditto.
	(elmo-folder-count-flags): Ditto.
	(elmo-folder-length): Ditto.

	* elmo-util.el (elmo-get-hash-val): Check whether hashtable is nil or
	not.

	* elmo-msgdb.el (elmo-msgdb-list-messages): New function.
	(elmo-msgdb-count-marks): Abolish.
	(elmo-msgdb-make-entity): Ditto.
	(elmo-msgdb-do-each-entity): Ditto.
	(elmo-msgdb-message-entity): New inline function.
	(elmo-msgdb-message-entity-field): Ditto.
	(elmo-msgdb-message-entity-set-field): Ditto.
	(elmo-msgdb-make-message-entity): New function.

2003-03-25  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-append-buffer): Changed argument from unread
	to flag. (All other related portions are changed.)
	(elmo-folder-msgdb-create): Likewise.
	(elmo-generic-folder-append-messages): Use flag-table instead of
	seen-list.
	(elmo-folder-move-messages): Removed redundant process.
	(elmo-folder-synchronize): Likewise.

	* elmo-msgdb.el (elmo-flag-table-get): New function.
	(elmo-flag-table-save): Fixed.
	(elmo-msgdb-length): New inline function.
	(elmo-msgdb-flag-table): New function.
	(elmo-msgdb-mark): Add optional argument new.
	(elmo-msgdb-add-msgs-to-seen-list): Abolish.
	(elmo-msgdb-seen-list): Ditto.
	(elmo-msgdb-add-msgs-to-seen-list): Ditto.


2003-03-24  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-set-mark): Abolish.
	(elmo-folder-unmark-important): Added optional argument `ignore-flag'.
	(All related portions are changed.)

	* elmo-msgdb.el (toplevel): Added comment.
	(elmo-load-msgdb): Added 4th element `path'.
	(elmo-msgdb-append): Follow the change above.
	(elmo-msgdb-clear): Ditto.
	(elmo-msgdb-delete-msgs): Ditto.
	(elmo-msgdb-get-path): New inline function.
	(elmo-msgdb-set-path): Ditto.
	(elmo-flag-table-filename): New variable.
	(elmo-flag-table-load): New function.
	(elmo-flag-table-set): Ditto.
	(elmo-flag-table-save): Ditto.
	(elmo-msgdb-get-field-value): Abolish.
	(elmo-msgdb-overview-get-entity-by-number): Ditto.

2003-03-30  Yoichi NAKAYAMA  <yoichi@geiin.org>

	* elmo.el (elmo-folder-delete): Confirm deletion here, return t if
	the folder has been deleted successfully.
	* elmo-imap4.el (elmo-folder-delete): Ditto.
	* elmo-archive.el (elmo-folder-delete): Ditto.
	* elmo-localdir.el (elmo-folder-delete): Ditto.
	* elmo-maildir.el (elmo-folder-delete): Ditto.

2003-03-27  Tetsurou Okazaki  <okazaki@be.to>

	* elmo-util.el (elmo-string-member-ignore-case): New function.
	* elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Use it.
	(elmo-imap4-fetch-callback-1-subr): Likewise.

2003-03-27  Kimura Fuyuki <fuyuki@hadaly.org>

	* elmo-imap4.el (elmo-imap4-response-get-selectable-mailbox-list): Fix
	the case of the name attribute "\Noselect".

2003-02-16  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo.el (elmo-folder-rename-internal): New method to cause error.

	* elmo-localdir.el (elmo-folder-pack-numbers): onum, a member of
	flist, is not always a member of onum-alist.

2003-02-14  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-version.el (elmo-version): Up to 2.11.3.

2003-02-10  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-maildir.el (elmo-folder-rename-internal): New method,
	copied from localdir's one.

	* elmo-pipe.el (elmo-folder-rename): New method, rename
	destination folder with leaving source folder as it is.

2003-02-08  KAMO Tomoyuki  <kamo@ITmanage.co.jp>

	* elmo-nntp.el (elmo-nntp-get-folders-info): Don't use
	replace-regexp.

2003-02-08  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-version.el (elmo-version): Up to 2.11.2.

2003-02-05  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-shimbun.el (elmo-folder-initialize): Do not call
	shimbun-open in case of "@".
	(elmo-folder-open-internal): Cope with shimbun = nil case.
	(elmo-folder-plugged-p): Ditto.
	(elmo-folder-list-subfolders): Make list for "@/" group.

2003-01-31  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-imap4.el (elmo-folder-expand-msgdb-path): Don't expand
	mailbox (e.g. for %~/something).

2003-01-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-localdir.el (elmo-folder-rename-internal): Referctoring;
	Replace nested conditional with guard clauses.

2003-01-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* pldap.el (ldap-search-basic): Don't treat exit status 32 as an
	error [wl:11327].

	* elmo-imap4.el (elmo-folder-msgdb-create-plugged): Bind print-level,
	print-depth.

2003-01-30  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-archive.el (elmo-folder-rename-internal): Referctoring;
	Replace nested conditional with guard clauses.

2003-01-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-util.el (elmo-object-save): Bind print-level, print-length.
	(elmo-passwd-alist-save): Ditto.
	* elmo-database.el (elmo-database-msgid-put): Bind print-length.

2003-01-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-localdir.el (elmo-folder-expand-msgdb-path): Expand
	dir-name only if it is absolute path.
	(TODO: distinguish +/something and +something)

2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-localdir.el (elmo-folder-expand-msgdb-path): Correct msgdb
	path for "+~/something".

2003-01-15  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-localdir.el (elmo-folder-rename-internal): If new-dir exist
	as non-directory, cause error before rename-file.
	* elmo-archive.el (elmo-folder-rename-internal): Create directory
	apropriately, mimic localdir's one.
	Based on the patch from KAMO Tomoyuki <kamo@ITmanage.co.jp>.

2003-01-10  Tsutomu OKADA  <okada@furuno.co.jp>

	* elmo-map.el (elmo-folder-pack-numbers): Fix name of the function.

2003-01-06  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el: Moved global mark handling stuffs to elmo-util.el.

	* elmo-util.el: Moved global mark handling stuffs from elmo-msgdb.el.

	* elmo-util.el (elmo-file-cache-delete): Check whether the cache file
	is included in the global-mark or not.

2002-12-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* utf7.el (toplevel): Avoid error when the function
	find-coding-system does not exist.

2002-12-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-nntp.el (elmo-folder-search): Body search is to search from
	cache even if the folder is plugged.
	(elmo-nntp-search-primitive): Do nothing when body search is
	invoked (although it is not used by the change above).
	* elmo-multi.el (elmo-folder-search): Don't ignore error anymore.

2002-12-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-version.el (elmo-version): Up to 2.11.1.

2002-12-10  Kenichi OKADA  <okada@opaopa.org>

	* elmo-archive.el: Specify charset.

2002-12-04  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-process-filter): Check whether the pop3
	process	buffer lives or not.

	* elmo-dop.el (elmo-dop-queue-flush): Don't append to the dop-queue
	while flushing queues (It causes infinite loop).

2002-11-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-folder-list-subfolders): Fixed last change.

2002-11-24  Yuuichi Teranishi  <teranisi@gohome.org>

	* utf7.el (toplevel): Check the ucs features dynamically.
	(Advice from Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>)

	* elmo-pipe.el (elmo-folder-creatable-p): Don't check whether the
	folder is creatabe or not if it already exists.

2002-11-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-nntp-search-primitive): Revert the last change.

	* elmo-multi.el (elmo-folder-search): Ignore errors while search.

	* elmo-imap4.el (elmo-imap4-response-garbage-p): New macro.
	(elmo-imap4-read-response): Take care of garbage response.

2002-11-20  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-nntp.el (elmo-nntp-search-primitive): Fix the last change,
	just return nil instead of error.

2002-11-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-nntp.el (elmo-nntp-search-primitive): Cause error when the
	search-key is "body".

2002-11-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-folder-list-subfolders): Check the return value
	of elmo-string-matched-assoc to use match-data.
	(Thanks to Mito <mito@mxa.nes.nec.co.jp>)

2002-11-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-split.el (elmo-split->): New function.
	(elmo-split-<): Ditto.

2002-11-14  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Added
	workaround for invalid message-id.

2002-11-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-get-session): If if-exists is 'any-exists,
	return normal pop3 session or pop3 biff session.

2002-11-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-maildir.el (elmo-maildir-update-current): Don't append
	info part to the cur files when the new files already have it.
	(Adviced by Jared Rhine <jared@wordzoo.com>)

2002-11-06  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-split.el (elmo-split-default-action): New variable.
	(elmo-split-subr): Use it if all other conditions are passed.
	Extend `fname' and rename it as `action'. (implemented
	Teranishi-san's idea in [wl:10800])

2002-10-29  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-imap4.el: Remove Nemacs hack, replace `elmo-read' by `read'.
	* elmo-util.el: Ditto.

2002-10-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-accessible-p): Renamed from
	elmo-message-cached-p and rewritten.

2002-10-27  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-list-flagged): New generic function.
	(elmo-folder-list-importants): New implementation.
	(elmo-folder-list-answereds): Ditto.
	(elmo-folder-search-fast):  Use 'flag' instead of 'mark';
	Added 'digest'.
	(elmo-message-cached-p): New function.
	(elmo-message-set-flag): Ditto (no content).
	(elmo-message-unset-flag): Ditto.
	(elmo-folder-list-messages-mark-match): Abolish.

	* elmo-util.el (elmo-regexp-opt): New function.

	* elmo-msgdb.el (elmo-msgdb-get-cached): New function.
	(elmo-msgdb-match-condition-primitive): Use 'flag' instead of 'mark';
	Added 'digest'.
	(elmo-msgdb-list-flagged): New function.

	* elmo-imap4.el (elmo-imap4-folder-list-digest-plugged): New function.
	(elmo-imap4-search-internal-primitive): Use 'flag' instead of 'mark';
	Added 'digest'.

	* elmo-filter.el (elmo-folder-diff): Use 'flag' instead of 'mark'.

2002-10-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.11.0.

2002-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-set-flag): Use
	`elmo-file-cache-exists-p'; use proper mark that depends on
	`use-cache'.
	(elmo-msgdb-unset-flag): Ditto.
	(elmo-msgdb-set-cached): Ditto. added argument `use-cache'.

	* elmo.el (elmo-message-set-cached): Call `elmo-msgdb-set-cached'
	with 4th argument `use-cache'.

2002-10-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-unmark-important): Follow the changes above.
	(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-msgdb.el (elmo-msgdb-set-cached): Use the term 'flag' for
	message status.
	(elmo-msgdb-mark): Likewise.
	(elmo-msgdb-set-flag): Renamed from elmo-msgdb-set-status.
	(elmo-msgdb-unset-flag): Likewise.

	* elmo.el (elmo-generic-folder-diff): Avoid byte-compile warning.

2002-10-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-filter.el (elmo-folder-diff): Fixed condition checking
	`last:' filter.

2002-10-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-dop.el (elmo-folder-status-dop): If spool-folder is absent,
	set spool-length to 0.

2002-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-dop.el (elmo-dop-queue-flush): Check obsolete at first.
	(elmo-dop-queue-flush): Fixed last change.

2002-10-01  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-filter.el (elmo-folder-list-unreads): Call generic method
	if require-msgdb slot is nil.
	(elmo-folder-list-importants): Likewise.

2002-09-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-set-cached): Set mark-modified slot if
	mark is changed.

	* elmo-msgdb.el (elmo-msgdb-set-mark): Return t.
	(elmo-msgdb-set-cached): Undo last change; return non-nil if mark
	is changed.

2002-09-25  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-set-cached): Set mark-modified slot.

2002-09-24  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-unset-status): Set mark-modified slot.

	* elmo-multi.el (elmo-folder-close): Set msgdb of children as nil.

2002-09-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-set-status): Fixed logic (new to read).
	(elmo-msgdb-uncached-marks): Added elmo-msgdb-new-mark.

2002-09-24  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo.el: Add autoload setting for elmo-nntp-post, fix against
	the problem reported by Sean Rima [wl-en:180].

2002-09-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-filter.el (elmo-folder-diff): Treat 'mark:' filter.

	* elmo.el (elmo-folder-unmark-read): Added argument `ignore-flag'.

	* elmo-filter.el (elmo-folder-unmark-read): Ditto.

	* elmo-map.el (elmo-folder-unmark-read): Ditto.

	* elmo-multi.el (elmo-folder-unmark-read): Ditto.

	* elmo-net.el (elmo-folder-unmark-read): Ditto.

	* elmo-pipe.el (elmo-folder-unmark-read): Ditto.

2002-09-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-parse-status): Skip white spaces after
	status number.

2002-09-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-mark-as-read): Added argument `ignore-flag'.
	(elmo-folder-mark-as-read): Follow the API change.
	(elmo-message-set-cached): New function.

	* elmo-pipe.el (elmo-folder-mark-as-read): Follow the API change.

	* elmo-nntp.el (elmo-folder-mark-as-read): Set :before qualifier.

	* elmo-net.el (elmo-folder-unmark-important): Set :before qualifier.
	(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-multi.el (elmo-folder-mark-as-important): Set :before qualifier.
	(elmo-folder-unmark-important): Ditto.
	(elmo-folder-mark-as-read): Ditto.
	(elmo-folder-unmark-read): Ditto.
	(elmo-folder-mark-as-answered): Ditto.
	(elmo-folder-unmark-answered): Ditto.

	* elmo-mark.el (toplevel): Removed some mark method definitions.

	* elmo-map.el (elmo-map-folder-unmark-answered): New method.
	(elmo-map-folder-mark-as-answered): Ditto.
	(elmo-folder-unmark-important): Add :before qualifier.
	(elmo-folder-mark-as-important): Ditto.
	(elmo-folder-unmark-read): Ditto.
	(elmo-folder-mark-as-read): Ditto.
	(elmo-folder-unmark-answered): Define.
	(elmo-folder-mark-as-answered): Ditto.

	* elmo-maildir.el (elmo-map-folder-mark-as-answered): Define.
	(elmo-map-folder-unmark-answered): Ditto.

	* elmo-filter.el (elmo-folder-mark-as-read): Follow the API change.

	* elmo-net.el (elmo-folder-unmark-important): Added :around qualifier.
	(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-msgdb.el (elmo-msgdb-match-condition-primitive): Added argument
	`mark'; evaluate mark condition.
	(elmo-msgdb-match-condition-internal): New function.
	(elmo-msgdb-match-condition): Call it; changed argument.

	* elmo.el (elmo-folder-search): Follow the API change on
	`elmo-msgdb-match-condition'.

2002-09-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-filter.el (elmo-folder-msgdb-create): Add to mark-alist if
	original mark is non-nil.

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
	value for date.

2002-04-04  Mito  <mito@mxa.nes.nec.co.jp>

	* elmo-util.el (elmo-condition-parse-search-value): Accept
	YYYY-MM-DD format to search.
	* elmo-date.el (elmo-date-get-datevec): Likewise.

2002-04-04  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-list-folders-get-cache): Delete
	debugging code.

2002-04-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-creatable-p): Changed default value to nil
	from t.

	* elmo-pop3.el (elmo-folder-exists-p): Return nil if unplugged.

	* elmo-nntp.el (elmo-folder-exists-p-plugged): Divided plugged
	case from `elmo-folder-exists-p'.
	(elmo-folder-exists-p): Removed.
	(elmo-folder-creatable-p) Ditto.

	* elmo-net.el (elmo-folder-create): Defined.
	(elmo-folder-create-unplugged): New function.
	(elmo-folder-exists-p): Changed default value to nil from t.

	* elmo-imap4.el (elmo-folder-creatable-p): Defined.
	(elmo-folder-create-plugged): Renamed from `elmo-folder-create'.

	* elmo-dop.el (elmo-folder-create-dop): Renamed from
	`elmo-create-folder-dop' and append queue
	'elmo-folder-create-dop-delayed instead of 'elmo-folder-create.
	(elmo-folder-create-dop-delayed): New function.

	* elmo-cache.el (elmo-folder-creatable-p): Ditto.

	* elmo-shimbun.el (elmo-folder-creatable-p): Ditto.

	* elmo-sendlog.el (elmo-folder-creatable-p): Ditto.
	(elmo-folder-writable-p) : Ditto.

	* elmo-version.el (elmo-version): Up to 2.9.9.

2002-03-26  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo.el (elmo-find-fetch-strategy): Don't use file cache when
	`elmo-message-use-cache-p' returns nil.
	* elmo-mime.el (elmo-mime-display-as-is): Ditto.
	(ignore cache file and refer the substance in local folders)

2002-03-12  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-version.el (elmo-version): Up to 2.9.8.

2002-02-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.9.7.

	* elmo-imap4.el (elmo-folder-list-subfolders): Fixed logic.

2002-02-18  Daiki Ueno  <ueno@unixuser.org>

	* elmo-nntp.el (elmo-nntp-send-mode-reader): Don't throw an error.

2002-02-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nmz.el (elmo-nmz-args): Changed default argumnet to --late
	from --early.
	(elmo-map-folder-list-message-locations): Reverse location list.

2002-02-01  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-list-folders-get-cache): Fix.

2002-01-31  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-nntp-list-folders-get-cache): Use group and server
	as a key.
	(elmo-nntp-folder-list-subfolders): Follow the change above.

2002-01-27  Takaaki MORIYAMA  <aka@iris.eonet.ne.jp>

	* elmo-imap4.el (elmo-folder-list-subfolders): Don't omit user
	name if authentication type is specified.

2002-01-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-default-imap4-stream-type): Define as obsolete
	variable.
	(elmo-default-nntp-stream-type): Ditto.
	(elmo-default-pop3-stream-type): Ditto.

2002-01-25  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>

	* elmo.el (elmo-generic-folder-append-messages): Disable multibyte.

2002-01-23  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-localnews.el (elmo-localnews-folder-path): Moved from
	elmo-vars.el.
	* elmo-maildir.el (elmo-maildir-folder-path): Ditto.

	* elmo-vars.el (elmo-localnews-folder-path): Removed.
	(elmo-maildir-folder-path): Ditto.
	(elmo-maildir-list): Ditto (abolished).

2002-01-23  Kenichi OKADA  <okada@opaopa.org>

	* elmo-version.el (elmo-version): Up to 2.9.6.

2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-vars.el (elmo-localnews-folder-path): Make customizable.
	(elmo-maildir-folder-path): Ditto.
	(elmo-msgdb-directory): Ditto.
	(elmo-passwd-life-time): Ditto.
	(elmo-msgdb-extra-fields): Ditto.
	(elmo-enable-disconnected-operation): Ditto.

2002-01-22  Kenichi OKADA  <okada@opaopa.org>

	* elmo-vars.el (elmo-imap4-default-authenticate-type): Give
	other choices.
	(elmo-pop3-default-authenticate-type): Ditto.

2002-01-22  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-vars.el (elmo-imap4-default-authenticate-type): Give
	choices for custom.
	(elmo-pop3-default-authenticate-type): Ditto.

2002-01-22  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-folder-rename-internal): Change current
	mailbox to new-folder.

2002-01-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-folder-diff-plugged): If unread is
	less than new, set new as unread.

	* elmo-util.el (elmo-string): Don't put text-property if nil.

2002-01-21  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-folder-list-subfolders): Case sensitive.
	* elmo-nntp.el (elmo-folder-list-subfolders): Ditto.

2002-01-21  Kenichi OKADA  <okada@opaopa.org>

	* elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
	is nil on `completing-read'.

2002-01-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-extra-namespace-alist): Added grouping
	for namespace part.
	(elmo-imap4-parse-namespace-subr): Ditto.
	(elmo-folder-list-subfolders): Append a delimiter when the specified
	folder path is a root with namespace and does not end with delimiter.

2002-01-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-search-fast): Moved upwards rather than it
	was used.

2002-01-19  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-util.el (elmo-save-buffer): The first argument of message
	is a format control string.

2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-diff-new): Fixed (Adapted to doc-string of
	`elmo-folder-diff').
	(elmo-diff-unread): Likewise.

2002-01-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-utils.el (elmo-read-search-condition-internal): REQUIRE-MATCH
	is t on `completing-read'.

2002-01-19  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-filter.el (elmo-filter-folder-list-unreads-internal): Call
	method of target folder with self mark-alist if MARK-ALIST is nil.

2002-01-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-version.el (elmo-version): Up to 2.9.5.

2002-01-17  Kenichi OKADA  <okada@opaopa.org>

	* elmo-dop.el (elmo-dop-queue-merge): Implement.
	(elmo-dop-merge-funcs): Remove.

2002-01-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-file-cache-delete): Fixed last change;
	Return t if PATH is directory, too.
	Use `dolist' instead of while loop.

2002-01-11  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-util.el (elmo-file-cache-delete): Return t if a cache file
	is deleted.

2002-01-07  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-net.el (elmo-folder-list-messages-plugged): Changed default
	return value to t.
	(elmo-folder-list-messages-unplugged): Return t if
	elmo-enable-disconnected-operation is nil.

	* elmo-pop3.el (elmo-folder-list-messages-plugged): Renamed from
	`elmo-folder-list-messages-internal'.

2002-01-07  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-read-response): Added `error-msg' argument.
	Change to looking-at `[23][0-9]+'.
	(elmo-network-initialize-session): Use 'error-msg'
	* elmo-net.el (elmo-network-open-session): Set unplugged
	if elmo-network-initialize-session returns 'elmo-open-err.

2002-01-07  Kenichi OKADA  <okada@opaopa.org>

	* elmo-version.el (elmo-version): Up to 2.9.4.

2002-01-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-folder-list-messages-plugged): Renamed from
	`elmo-folder-list-messages-internal'.

2002-01-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-search): Defined. Fixed docstring.
	(elmo-message-match-condition): New method.
	(elmo-folder-search-fast): New inline function.
	(elmo-msgdb-search): Removed.

	* elmo-filter.el (elmo-folder-msgdb-create): Create from msgdb of
	target folder if it is unplugged.
	(elmo-folder-list-messages-internal): Return t if target folder is
	unplugged and itself is persistent; In this case, use list be
	searched already.

	* elmo-msgdb.el (elmo-msgdb-search-internal): Removed.
	(elmo-msgdb-search-internal-primitive): Ditto.
	(elmo-msgdb-match-condition): New function.
	(elmo-msgdb-match-condition-primitive): Ditto.

	* elmo-util.el (elmo-filter-condition-p): New macro.

	* elmo-cache.el (elmo-folder-search): Removed.

	* elmo-localdir.el (elmo-folder-search): Ditto.

	* elmo-maildir.el (elmo-folder-search): Ditto.

	* elmo-mark.el (elmo-folder-search): Ditto.

	* elmo-nmz.el (elmo-folder-search): Ditto.

	* elmo-sendlog.el (elmo-folder-search): Ditto.

	* elmo-shimbun.el (elmo-folder-search): Ditto.

	* elmo-imap4.el (elmo-folder-search): Call method of parent class
	if folder is unplugged.

	* elmo-nntp.el (elmo-folder-search): Likewise.
	(elmo-nntp-search-internal): New function.

	* elmo-version.el (elmo-version): Up to 2.9.3.

2001-12-27  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-fetch-with-cache-process): Fixed typo.

2001-12-27  Tetsurou Okazaki  <okazaki@be.to>

	* elmo-vars.el (elmo-nntp-default-user): Customization Type fix.

2001-12-27  Taiji Can  <Taiji.Can@grd.advantest.co.jp>

	* elmo-nntp.el (elmo-network-initialize-session): Fixed for NNTP response.

2001-12-27  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nmz.el (elmo-nmz-use-drive-letter): New variable.
	(elmo-map-folder-list-message-locations): Do drive letter conversion
	on Windows environment.
	(elmo-nmz-msgdb-create-entity): Use expand-file-name.
	(elmo-map-message-fetch): Ditto.

2001-12-27  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-read-response): Fixed for Response '400'
	(elmo-network-initialize-session): Ditto.

2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-message-fetch): Fixed '100%' message.

	* elmo-pop3.el (elmo-message-fetch-plugged): Ditto.

	* elmo-util.el (elmo-progress-clear): Ditto.

	* elmo-date.el (elmo-date-get-datevec): Fix timezone of
	`DD-Mon-YYYY' type date.

2001-12-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-buffer-field-primitive-condition-match): Use
	`elmo-date-make-sortable-string' instead of
	`timezone-make-date-sortable'.

	* elmo-date.el (elmo-date-make-sortable-string): Use
	`timezone-make-time-string'.

2001-12-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-synchronize): Delete important messages too.

	* elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed
	`since'; Fix timezone.

	* elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Ditto.

	* elmo-nntp.el (elmo-nntp-search-primitive): Likewise.

2001-12-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-fetch-with-cache-process): Rewrite.

2001-12-23  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-generic-folder-append-messages): Make
	fetch-strategy with `use-cache' as 'maybe. Check return value of
	`elmo-message-fetch'.
	(elmo-message-fetch): Return return value of
	`elmo-message-fetch-with-cache-process'.
	(elmo-message-fetch-with-cache-process): Return non-nil if
	fetching was succeed. Load cache when fetching was failed and
	fetch-strategy-use-cache is 'maybe.

	* elmo-util.el (elmo-file-cache-load): New function.

	* elmo-multi.el (elmo-message-use-cache-p): Remove duplicated
	defun.

	* elmo-archive.el (elmo-archive-message-fetch-internal): Return
	non-nil if fetching was succeed.

	* elmo-imap4.el (elmo-imap4-message-fetch): Likewise.

	* elmo-nmz.el (elmo-map-message-fetch): Likewise.

	* elmo-nntp.el (elmo-nntp-read-body): Likewise.
	(elmo-message-fetch-with-cache-process): Likwise.

	* elmo-pop3.el (elmo-pop3-read-body): Likewise.

	* elmo-shimbun.el (elmo-map-message-fetch): Likewise.

	* elmo-version.el (elmo-version): Up to 2.9.2.

2001-12-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-delete): Delete msgdb path.

	* elmo-archive.el (elmo-folder-delete): Added `:before' qualifier.

	* elmo-maildir.el (elmo-folder-delete): Ditto.

	* elmo-localdir.el (elmo-folder-delete): Ditto.

	* elmo-imap4.el (elmo-folder-delete): Ditto.

2001-12-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (luna-define-class): Added `biff' slot.

	* elmo-pop3.el (elmo-pop3-debug): Split biff log.
	(elmo-pop3-debug-inhibit-logging): Abolished.
	(elmo-network-close-session): Eliminated needless let.
	(elmo-pop3-get-session): Set prefix 'BIFF' if biff folder.
	(elmo-pop3-send-command): Added `no-log' argument.
	(elmo-pop3-process-filter): Use `with-current-buffer'.
	(elmo-pop3-auth-user): Set `no-log' argument; Delete process
	if login failure.
	(elmo-pop3-auth-apop): Likewise.
	(elmo-network-authenticate-session): Likewise.

	* elmo-nntp.el (elmo-nntp-get-session): Set prefix 'BIFF'
	if biff folder.

	* elmo-net.el (elmo-network-session-password-key): Use class symbol
	string to determine protocol.
	(elmo-network-session-name-prefix): Abolished.
	(elmo-network-session-cache-key): Follow the change above.
	(elmo-network-open-session): Ditto.

	* elmo-imap4.el (elmo-imap4-send-command): Modified error message.
	(elmo-imap4-get-session): Set prefix 'BIFF' if biff folder.

	* elmo-version.el (elmo-version): Up to 2.9.1.

	* elmo-util.el (elmo-file-field-primitive-condition-match): Fixed
	unmatch condition checking.

	* elmo-localdir.el (elmo-folder-search): Don't short cut if unmatch
	condition.

2001-12-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo.el (elmo-folder-confirm-appends): Fixed docstring.

2001-12-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
	test for while loop to execute at least one SEARCH command.

2001-12-15  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.9.0.

2001-12-14  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-archive.el (elmo-archive-folder): Added `dir-name' slot.
	(elmo-archive-folder-path): Define.
	(elmo-folder-initialize): Setup `dir-name' slot.
	(elmo-archive-folder-list-subfolders): Fixed problem when `name' is "".
	Use `dir-name' as prefix of each subfolders.
	(Applyed patch from Takaaki MORIYAMA <taka@arcadia.co.jp>)

2001-12-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-pipe-folder-copied-filename): New variable.
	(elmo-pipe-folder-list-target-messages): New internal function.
	(elmo-pipe-drain): Use new argument `ignore-list' instead of
	`killed-list'.
	(elmo-pipe-folder-copied-list-load): New function.
	(elmo-pipe-folder-copied-list-save): Ditto.
	(elmo-folder-open-internal): Follow the change above.
	(elmo-folder-status): Fixed for copy.

2001-12-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-folder-creatable-p): Define.

2001-12-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-localdir.el (elmo-folder-message-make-temp-files): Use
	elmo-copy-file instead of elmo-add-name-to-file.

	* elmo-nmz.el (elmo-folder-message-make-temp-files): Ditto.

	* elmo-nmz.el (elmo-map-folder-list-message-locations): Allow
	"file://..." index.

	* elmo-pop3.el (elmo-pop3-read-response): Set timeout argument
	of accept-process-output as 1.
	(elmo-pop3-read-contents): Ditto.
	(elmo-pop3-read-body): Ditto.

2001-12-12  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el (product-version-as-string): Remove define.

2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-number-set-chop-length): New variable.
	(elmo-imap4-copy-messages): Chop number set using
	`elmo-imap4-number-set-chop-length'.
	(elmo-imap4-set-flag): Ditto.
	(elmo-imap4-search-internal-primitive): Ditto.

2001-12-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo.el (elmo-folder-make-temporary-directory): Renamed from
	`elmo-folder-make-temp-dir'

	* elmo-vars.el (elmo-cache-directory): New variable.
	(elmo-cache-dir): Abolished.
	(elmo-msgdb-directory): Renamed from `elmo-msgdb-dir'.

	* elmo-version.el (elmo-version): Up to 2.7.7.

2001-12-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-obsolete-variable-show-warnings): Define with
	defcustom; Set default value as t.

2001-12-10  Yuuichi Teranishi  <teranisi@gohome.org>

	* pldap.el (ldap-ldif-field-name-regexp): Changed regexp.
	(ldap-search-program-arguments): Changed default value.
	(ldap-search-basic): Accept exit status 4.
	(ldap/field-body): Parse options.
	(ldap/collect-field): Ditto.
	(According to the advise from Mito <mito@mxa.nes.nec.co.jp>)

	* elmo-imap4.el (elmo-imap4-process-bye): New function.
	(elmo-imap4-send-command): Call elmo-imap4-process-bye.
	(elmo-imap4-accept-ok): Ditto.
	(elmo-imap4-session-select-mailbox): If argument `no-error' equals to
	'notify-bye, only BYE error is reported.
	(elmo-folder-exists-p-plugged): Set no-error argument of
	`elmo-imap4-session-select-mailbox' as 'notify-bye.

	* elmo.el (elmo-imap4-bye-error): Changed message.

	* elmo-dop.el (elmo-dop-queue-flush): Fixed obsolete version message.
	(elmo-dop-queue-flush): Don't append to the dop-queue while flushing
	queues (It causes infinite loop).

2001-12-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo.el (elmo-folder-diff): Fixed docstring for IMAP4
	(RECENT UNSEEN MESSAGES) extension.

2001-12-07  Mito <mito@mxa.nes.nec.co.jp>

	* elmo-nntp.el (elmo-nntp-create-msgdb-from-overview-string):
	Check number of overview fields.

2001-12-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-confirm-appends): Changed message.
	(elmo-folder-confirm-appends): Ditto.

	* elmo-archive.el (elmo-archive-exec-msgs-subr1): Use
	`with-temp-buffer'.
	(According to the advise from Nishimoto Masaki <nishimoto@gaju.org>)

2001-12-06  Hiroshi Tsutsui  <tsutsui@easter.kuee.kyoto-u.ac.jp>

	* elmo.el (elmo-folder-confirm-appends): Check whether the value
	of elmo-folder-update-threshold is nil, which can be set by
	wl-summary-update-confirm-threshold.

2001-12-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nmz.el (elmo-nmz-default-index-path): Allow path list.
	(elmo-nmz-index-alias-alist): Ditto.
	(elmo-map-folder-list-message-locations): Follow the change above.

2001-12-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-filter.el (elmo-folder-list-subfolders): Defined.

	* elmo-archive.el (elmo-archive-call-process): Ignore nemacs.

	* elmo-msgdb.el (elmo-msgdb-insert-file-header): Ditto.

	* elmo-util.el (elmo-read): Ditto.
	(elmo-display-error): Ditto.

	* elmo-vars.el (elmo-date-match): Ditto.

	* pldap.el (ldap-coding-system): Ditto.

	* elmo-pipe.el (elmo-pipe-drain): If `copy' is non-nil, bind
	`elmo-inhibit-number-mapping' as nil.

2001-11-30  Tatsuya Kinoshita  <tats@iris.ne.jp>

	* elmo-pop3.el (elmo-pop3-parse-list-response): Allow multiple
	space delimiter for list response.

2001-12-02  Kenichi OKADA  <okada@opaopa.org>

	* elmo-sendlog.el (elmo-sendlog-buffer-name): Deleted.

2001-12-02  Kenichi OKADA  <okada@opaopa.org>

	* elmo-sendlog.el (elmo-folder-delete-messages): Added.
	(elmo-map-message-fetch): Fix.
	* elmo-map.el (elmo-folder-status): Fix for killed.

2001-12-02  Kenichi OKADA  <okada@opaopa.org>

	* elmo-sendlog.el: New file.
	* elmo-internal.el (elmo-internal-folder-list): Added 'sendlog.

2001-11-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* acap.el (acap-logging-out): New buffer local variable.
	(acap-close): Set it.
	(acap-wait-for-response): If acap-logging-out is non-nil, don't cause
	an error.

2001-11-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* acap.el (acap-response-bye-p): New function.
	(acap-response-bye-message): Ditto.
	(acap-wait-for-response): If bye response is received, cause an error.
	(acap-parse-response): Make bye response when 'Bye' is received.

2001-11-23  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pipe.el (elmo-pipe-drain): Load killed-list.

2001-11-21  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-copy-file): Added argument
	`ok-if-already-exists'.
	(elmo-copy-file): Fixed typo.

2001-11-21  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pipe.el (elmo-pipe-drain): Load killed-list.

2001-11-21  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pipe.el (elmo-pipe-drain): Save killed-list.

2001-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pipe.el (elmo-pipe-drain): Append copied messages
	to killed-list.

2001-11-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pipe.el (elmo-pipe-folder): Add `copy'.
	(elmo-folder-initialize): Fix for `copy'.
	(elmo-pipe-drain): Ditto.
	(elmo-folder-open-internal): Ditto.
	(elmo-folder-newsgroups): Fix.

2001-11-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-maildir.el (elmo-folder-append-messages): Make temporal filename
	for each message.

	* elmo-multi.el (elmo-multi-folder-diff): Fixed problem when
	recent value is returned from imap folder.

	* elmo.el (elmo-folder-newsgroups): New generic function.

	* elmo-localnews.el (elmo-localnews-folder): Added `group' slot.
	(elmo-folder-initialize): Set it.
	(elmo-folder-expand-msgdb-path): Use it.
	(elmo-folder-newsgroups): Define.

	* elmo-filter.el (elmo-folder-newsgroups): Define.

	* elmo-pipe.el (elmo-folder-newsgroups): Ditto.

	* elmo-nntp.el (elmo-folder-newsgroups): Ditto.

	* elmo-multi.el (elmo-folder-newsgroups): Ditto.

2001-11-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-shimbun.el (elmo-shimbun-update-overview-folder-list): New
	user option.
	(elmo-shimbun-header-extra-field): New inline function.
	(elmo-shimbun-header-set-extra-field): Ditto.
	(elmo-shimbun-folder-header-hash-setup): Ditto.
	(elmo-shimbun-update-overview): Ditto.
	(elmo-shimbun-msgdb-to-headers): Set extra field `x-shimbun-id'.
	(elmo-shimbun-folder-setup): Use
	`elmo-shimbun-folder-header-hash-setup' to be setup hash table.
	(elmo-shimbun-get-headers): Ditto.
	(elmo-map-message-fetch): Call `elmo-shimbun-update-overview';
	Insert `X-Shimbun-Id:' header if extra field is set.
	(elmo-map-folder-list-message-locations): Return `x-shimbun-id'
	field's value instead of `shimbun-header-id'.

	* elmo-msgdb.el (elmo-msgdb-overview-entity-set-references): New
	inline function.
	(elmo-msgdb-overview-entity-set-date): Ditto.
	(elmo-msgdb-overview-entity-set-extra-field): Ditto.

2001-11-09  Yuuichi Teranishi  <teranisi@gohome.org>

	* mmimap.el (mmimap-entity-section): Changed body node number from
	"0" to "1".

2001-11-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pop3.el (elmo-folder-delete-messages-plugged): Renamed from
	`elmo-folder-delete-messages'.

	* elmo-nmz.el (elmo-nmz-index-alias-alist): New user option.
	(elmo-folder-initialize): Changed to expand alias into index path.

	* elmo-mime.el (elmo-mime-insert-sorted-header): Call
	`elmo-mime-insert-header-from-buffer' with 6th arg
	`sorted-fields'.

2001-11-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* mmimap.el (mmimap-entity-section): If node-id is nil, return "0".

	* elmo.el (elmo-diff-new): New inline function.
	(elmo-diff-unread): Ditto.
	(elmo-diff-all): Ditto.

	* elmo-imap4.el (elmo-imap4-server-diff-async-callback-1): Get recent
	value from responseb.
	(elmo-imap4-folder-diff-plugged): Ditto.
	(elmo-imap4-server-diff-async): Added recent argument.
	(elmo-server-diff-async): Ditto.
	(elmo-imap4-folder-diff-plugged): Ditto.

	* elmo-version.el (elmo-version): Up to 2.7.6.

2001-11-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-parse-token): Fixed how to treat quoted-pair
	in quoted-stirng.

2001-11-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-folder-initialize): Rewrite.

	* elmo-imap4.el (elmo-folder-initialize): Ditto.

	* elmo-nntp.el (elmo-folder-initialize): Ditto.

	* elmo-multi.el (elmo-folder-initialize): Ditto.

	* elmo-util.el (elmo-parse-token): New function.
	(elmo-parse-prefixed-element): Ditto.

2001-11-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-send-command): If BYE response is detected,
	delete process.
	(elmo-imap4-accept-ok): Ditto.

2001-10-25  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* mmimap.el (mime-imap-entity-header-string): Don't check first
	element of node-id is `0' (Follow last change).

2001-10-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* mmimap.el (mmimap-make-mime-entity): Fixed problem to be
	assigned irregular node-id to nested multipart section.
	(initialize-instance): Followed above change.

2001-10-17  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-shimbun.el (elmo-shimbun-get-headers): Don't call
	`shimbun-open-group' (Moved to `elmo-folder-open-internal').
	(elmo-folder-open-internal): Call `shimbun-open-group' (Moved from
	`elmo-shimbun-get-headers');
	Call `elmo-shimbun-folder-setup' if headers is empty (An entity of
	visible article on summary exists in headers).
	(elmo-map-message-fetch): Cause an error when folder is unplugged.

2001-10-17  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-shimbun.el (elmo-shimbun-use-cache): Fix typo in the
	definition.

2001-10-16  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-localnews.el (elmo-folder-expand-msgdb-path): Define.

2001-10-13  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-insert-file-header): Moved searching
	header separator into loop condition.

2001-10-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-imap4.el (elmo-folder-list-subfolders): Fixed problem;
	Return duplicate folder if it has subfolder.

2001-10-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-make-folder): Add folder name error check.

	* elmo-nntp.el (elmo-nntp-group-coding-system): New variable.
	(elmo-nntp-encode-group-string): New inline function.
	(elmo-nntp-decode-group-string): Ditto.
	(elmo-folder-initialize): Use elmo-nntp-encode-group-string.
	(elmo-nntp-folder-list-subfolders): Set processing buffer as unibyte;
	Use `not' instead of `null';
	Use elmo-nntp-decode-group-string.

	* elmo-imap4.el (elmo-folder-list-subfolders): Don't append delimiter.

	* elmo-version.el (elmo-version): Up to 2.7.5.

2001-10-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-pipe-drain): Use `unwind-protect';
	Hide progress gauge if `elmo-folder-move-messages' exits
	nonlocally.

2001-10-09  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-folder-initialize): Use
	`elmo-imap4-encode-folder-string' for folder name.

2001-10-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-move-messages): Removed arguments `all' and
	`done'.

2001-10-06  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-progress-counter-alist): New internal
	variable.
	(elmo-progress-counter-value): New macro.
	(elmo-progress-counter-all-value): Ditto.
	(elmo-progress-counter-format): Ditto.
	(elmo-progress-counter-set-value): Ditto.
	(elmo-progress-set): New function.
	(elmo-progress-clear): Ditto.
	(elmo-progress-notify): Ditto.

	* elmo-pipe.el (elmo-pipe-drain): Setup and clear progress
	counter.

	* elmo.el (elmo-generic-folder-append-messages): Call
	`elmo-progress-notify'.
	(elmo-folder-move-messages): Don't call `elmo-display-progress'.

	* elmo-archive.el (elmo-folder-append-messages): Call
	`elmo-progress-notify'.

	* elmo-imap4.el (elmo-folder-append-messages): Ditto.

	* elmo-localdir.el (elmo-folder-append-messages): Ditto.

	* elmo-maildir.el (elmo-folder-append-messages): Ditto.

2001-10-03  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed 'Encache' and
	'Create'.
	(elmo-message-encache-dop): Added argument `read'.

	* elmo-shimbun.el (elmo-message-encache): Ditto.

	* elmo-net.el (elmo-message-encache): Ditto.

	* elmo-imap4.el (elmo-imap4-seen-messages): New buffer local variable.
	(elmo-imap4-fetch-callback-1-subr): Save important message numbers to
	elmo-imap4-seen-messages.
	(elmo-folder-msgdb-create-plugged): Initialize
	elmo-imap4-seen-messages;
	Set seen mark on elmo-imap4-seen-messages.

	* elmo-pipe.el (elmo-folder-message-file-p): Define.

	* elmo.el (elmo-generic-folder-append-messages): Check return value of
	elmo-folder-append-buffer.
	(elmo-folder-encache): Added optional argument `read'.
	(elmo-message-encache): Ditto.

	* elmo-dop.el (elmo-folder-append-buffer-dop-delayed): Ditto.

	* elmo-localdir.el (elmo-folder-append-buffer): Ditto.

	* elmo-archive.el (elmo-archive-folder-append-buffer): Return t
	if append buffer content succeds.

2001-10-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-message-fetch-plugged): Fixed label for
	elmo-display-progress.

	* elmo-mime.el (elmo-mime-message-display): Added argument keymap;
	Set 4th argument of mime-display-message.
	(elmo-mime-display-as-is): Ditto.

2001-10-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nmz.el (toplevel): Require 'mime-edit.
	(elmo-nmz-content-type-alist): Abolished.
	(elmo-nmz-msgdb-create-entity): Add From: and Subject: field if
	content is not a message.
	(elmo-map-message-fetch): Changed behavior exept for message content;
	Detect mime-charset automatically, Use `mime-find-file-type' to detect
	content-type, Add From: and Subject: field.

2001-09-29  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-nmz.el (elmo-nmz-content-type-alist): New variable.
	(elmo-map-message-fetch): Add `Content-Type' field if contents is
	not a message.

2001-09-20  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-writable-p): Changed default value to nil.
	(elmo-folder-move-messages): Check `elmo-folder-writable-p'.

	* elmo-archive.el (elmo-folder-writable-p): Defined.

	* elmo-cache.el (elmo-folder-writable-p): Ditto.

	* elmo-filter.el (elmo-folder-writable-p): Ditto.

	* elmo-imap4.el (elmo-folder-writable-p): Ditto.

	* elmo-localdir.el (elmo-folder-writable-p): Ditto.

	* elmo-maildir.el (elmo-folder-writable-p): Ditto.

	* elmo-mark.el (elmo-folder-writable-p): Ditto.

	* elmo-pipe.el (elmo-folder-writable-p): Ditto.

	* elmo-nntp.el (elmo-folder-writable-p): Eliminated.

2001-09-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-address-quote-specials): New function;
	Renamed from `wl-address-quote-specials'.

2001-09-18  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el (elmo-version): Up to 2.7.4.

2001-09-14  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-quit): Call `elmo-dop-queue-save'.

2001-09-14  Katsumi Yamaoka  <yamaoka@jpl.org>

	* acap.el (acap-read-passphrase): Always autoload ange-ftp for
	both compile-time and run-time to avoid byte-compile warning.

2001-09-13  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-post): Fix for `elmo-nntp-default-stream-type'.

2001-09-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-mime.el (elmo-mime-display-as-is-coding-system): New user
	option.
	(elmo-mime-display-as-is-internal): Use it.

	* acap.el (acap-read-passphrase): Use `ange-ftp-read-passwd'
	if `read-passwd' is not defined.

2001-09-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-list-location): Sort locations
	by original number.
	(elmo-folder-status): Call `elmo-folder-open-internal';
	Call `elmo-folder-close-internal' instead of `elmo-folder-close'.
	(elmo-folder-close-internal): Set location-alist as nil.
	(elmo-folder-clear): Define.
	(elmo-folder-check): Don't set location-alist as nil.

	* elmo-dop.el (elmo-dop-queue-method-name-alist): Fixed symbols.

2001-09-10  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-msgid-to-cache): Enclose with `save-match-data'.
	(Pointed out by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>)

	* mmimap.el (mime-imap-entity::requested): New slot.
	(mime-imap-location-fetch-entity-p): New generic function.
	(mime-decode-parameters): Define using `defun-maybe'.
	(mmimap-make-mime-entity): Use `make-mime-content-type' to make
	content-type structure.
	(mime-entity-body): Return empty body if
	`mime-imap-location-fetch-entity-p' returns nil in the first request.

	* elmo.el (elmo-message-displaying): New variable.

	* elmo-mime.el (elmo-mime-message-display): Bind
	elmo-message-displaying as t.

	* elmo-imap4.el (mime-imap-location-fetch-entity-p): Define.

2001-08-31  Yuuichi Teranishi  <teranisi@gohome.org>

	* acap.el (acap-open): erase buffer before starting network process.
	(acap-store): Rewrite.

2001-08-29  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-default-mailbox,
	elmo-imap4-default-server
	elmo-imap4-default-authenticate-type,
	elmo-imap4-default-user,
	elmo-imap4-default-port,
	elmo-imap4-default-stream-type,
	elmo-imap4-stream-type-alist): Moved to elmo-vars.el.

	* elmo-pop3.el (elmo-pop3-default-user,
	elmo-pop3-default-server,
	elmo-pop3-default-authenticate-type,
	elmo-pop3-default-port,
	elmo-pop3-default-stream-type,
	elmo-pop3-stream-type-alist): Ditto.

	* elmo-nntp.el (elmo-nntp-default-server,
	elmo-nntp-default-user,
	elmo-nntp-default-port,
	elmo-nntp-default-stream-type,
	elmo-nntp-stream-type-alist): Ditto.

	* elmo-vars.el: Follow changes above.
	(elmo-setting): New custom group; added 'elmo-setting group to
	above variables.

	* elmo-version.el (elmo-version): Up to 2.7.3.

	* acap.el (acap-parse-response): Don't delete process when BYE
	response (It causes hang-up on slow network environment).
	(toplevel): Added comment.

2001-08-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* slp.el (slp-exec-wait): Use `slp-program-arguments'.

	* acap.el (acap-parse-return-metadata-or-return-metalist): Fix for
	parsing NIL.
	(acap-parse-return-metadata): Ditto.

	* slp.el: New file.
	(toplevel): Fixed typo.

	* acap.el: New file.
	(acap-network-stream-open): Show "Connecting..." message.
	(acap-parse-response): Fixed problem for BYE untagged response.
	(acap-open): Changed argument (Use `acap-default-user' if user is nil).
	(toplevel): Added tiny comments.

2001-08-20  Tatsuya Kinoshita <tats@iris.ne.jp>

	* elmo-pop3.el (elmo-pop3-parse-uidl-response): Allow multiple
	space delimiter for uidl response.

2001-08-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-vars.el (elmo-use-semi): Eliminated.

	* elmo-util.el (elmo-string-assoc-all): New function.

2001-08-16  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-mime.el (elmo-mime-display-as-is-internal): Put text
	property 'mime-preview-situation for `mime-preview-quit'.

2001-08-15  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-fetch-with-cache-process): Call
	elmo-message-fetch-internal instead of causing an error when fetch
	strategy is 'entire but only 'section cache is available.

2001-08-15  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.7.2.

	* elmo.el (elmo-generic-folder-append-messages): Make
	fetch-strategy with `use-cache'.

	* elmo-dop.el (elmo-dop-queue-method-name-alist): New variable.
	(elmo-dop-queue-method-name): New macro.

2001-08-03  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-archive.el (elmo-archive-get-archive-name): Fixed
	unbalanced parenthesis.

2001-08-03  YAMASHITA Junji <ysjj@unixuser.org>

	* elmo-localdir.el (elmo-folder-rename-internal): Fixed typo.

2001-08-03  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-archive.el (elmo-archive-get-archive-name): Fixed logic.
	(Advised by YAMASHITA Junji <ysjj@unixuser.org>.)

2001-08-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-folder-msgdb-create): Bind unbound
	local variables.

2001-07-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-shimbun-use-cache): New user option.
	(elmo-message-use-cache-p): Define.
	(elmo-folder-msgdb-create): Treat cache.

2001-07-28  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-network-initialize-session): Call
	`elmo-nntp-send-mode-reader'.
	(elmo-network-setup-session): Remove `elmo-nntp-send-mode-reader'.

2001-07-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-shimbun-index-range-alist): Changed to regexp
	alist.
	(elmo-folder-initialize): Use elmo-string-matched-assoc instead of
	assoc.

	* elmo-net.el (elmo-network-get-session): Set stream-type argument
	for `elmo-plugged-p'.
	(elmo-open-network-stream): Fixed stream-type argument.

2001-07-25  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-archive.el (elmo-archive-get-archive-name): Cause an error when
	unknown archive type is specified.

2001-07-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-folder-open-internal): Fixed.

	* elmo.el (elmo-generic-folder-open): Bind inhibit-quit as t
	while loading msgdb.

	* elmo-shimbun.el (elmo-shimbun-folder-setup): New function.
	(elmo-folder-open-internal): Rewrite.

2001-07-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-mime.el (elmo-mime-display-as-is-internal):
	Adjust buffer-multibyte status.

2001-07-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-msgdb-search): Use elmo-condition-in-msgdb-p instead
	of elmo-condition-find-key.

	* elmo-util.el (elmo-condition-in-msgdb-p-internal): New function.
	(elmo-condition-in-msgdb-p): Ditto.
	(elmo-read-search-condition-internal): Don't set REQUIRE-MATCH
	argument.

2001-07-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pipe.el (elmo-folder-pack-numbers): Define.

2001-07-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-find-next-line): Fixed
	label for elmo-display-progress.

2001-07-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-clear): New method.
	(elmo-folder-clear): Define.
	(elmo-folder-synchronize): Call `elmo-folder-clear'.

	* elmo-shimbun.el (elmo-folder-check): Rewrite.
	(elmo-folder-clear): Define.

	* elmo-map.el (elmo-folder-clear): Define.

	* elmo-version.el (elmo-version): Up to 2.7.1.

2001-06-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-synchronize): Return list of nil when no
	updates.

2001-06-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-generic-folder-append-messages): Fixed logic.
	(Detected by NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>)

2001-06-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-get-network-stream-type): Moved to elmo-net.el.

	* elmo-net.el (elmo-get-network-stream-type): Moved from elmo-util.el
	and re-written.

	* elmo-imap4.el (elmo-folder-initialize): Use
	elmo-get-network-stream-type.

	* elmo-nntp.el (elmo-folder-initialize): Ditto.

	* elmo-pop3.el (elmo-folder-initialize): Ditto.

2001-06-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-encache): Set unread argument for
	elmo-message-fetch.

	* elmo-shimbun.el (elmo-dop): Require 'elmo-dop.

	* elmo.el (elmo-net-port-info): New method.

	* elmo-shimbun.el (elmo-net-port-info): Define.
	(elmo-message-encache): Ditto.

	* elmo-net.el (elmo-net-port-info): Define as method.

	* elmo.el (elmo-generic-folder-append-messages): Find cache file in
	unplugged status when elmo-enable-disconnected-operation is t.

	* elmo-dop.el (elmo-dop-spool-folder-append-buffer): Check existence
	of spool folder before checking new number.

2001-06-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-network-close-session): Removed 3rd argument.
	(elmo-network-setup-session): Ditto.
	(elmo-message-fetch-plugged): Ditto.
	(elmo-pop3-send-command): Don't call elmo-pop3-lock.
	(elmo-network-initialize-session): Ditto.
	(elmo-pop3-read-response): Abolish 3rd argument.
	(elmo-pop3-read-response): Don't call elmo-pop3-unlock.
	(elmo-pop3-read-contents): Ditto.
	(elmo-pop3-read-body): Ditto.
	(elmo-folder-status): Call elmo-folder-close.
	(elmo-pop3-lock): Abolish.
	(elmo-pop3-unlock): Ditto.
	(elmo-pop3-locked-p): Ditto.
	(elmo-folder-check): Don't call elmo-pop3-locked-p.

2001-06-15  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.7.0.

	* elmo-pop3.el (elmo-pop3-debug): New variable.
	(elmo-pop3-debug-inhibit-logging): Ditto.
	(elmo-pop3-debug): New function.
	(elmo-pop3-send-command): Call elmo-pop3-debug.
	(elmo-pop3-read-response): Added keep-lock optional argument;
	Don't unlock if keep-lock is non-nil.
	(elmo-pop3-process-filter): Call elmo-pop3-debug.
	(elmo-network-authenticate-session): Bind
	elmo-pop3-debug-inhibit-logging as t.
	(elmo-network-setup-session): Call elmo-pop3-read-response with
	keep-lock argument.
	(elmo-pop3-read-msg): Ditto.
	(elmo-pop3-locked-p): Call elmo-pop3-debug.
	(elmo-pop3-read-body): Call elmo-pop3-unlock.
	(elmo-network-initialize-session): Call elmo-pop3-lock.
	(elmo-folder-close-internal): Don't clear location-alist slot.
	(elmo-folder-check): Clear location-alist slot.

2001-06-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-lock): New buffer local variable.
	(elmo-pop3-send-command): Call elmo-pop3-lock.
	(elmo-pop3-read-response): Call elmo-pop3-unlock.
	(elmo-pop3-read-contents): Ditto.
	(elmo-pop3-lock): New function.
	(elmo-pop3-unlock): Ditto.
	(elmo-pop3-locked-p): Ditto.
	(elmo-folder-check): Don't delete process if elmo-pop3-locked-p
	returns t.

2001-06-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-shimbun-msgdb-to-headers): Inverted logic.

	* elmo-util.el (elmo-file-field-primitive-condition-match):
	New inline function (Don't fetch file content if "first" or "last").
	(elmo-file-field-condition-match): Use
	elmo-file-field-primitive-condition-match.

	* elmo-localdir.el (elmo-folder-search): Speed up simple "last" and
	"first".

	* elmo-pop3.el (elmo-pop3-process-filter): Don't use floor nor float.
	(elmo-message-fetch-plugged): Fixed.

	* elmo-imap4.el (elmo-imap4-find-next-line): Ditto.

2001-06-10  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-move-messages): Bind
	elmo-inhibit-display-retrieval-progress as t while moving messages.

	* elmo-vars.el (elmo-display-retrieval-progress-threshold):
	New variable.
	(elmo-inhibit-display-retrieval-progress): Ditto.

	* elmo-pop3.el (elmo-pop3-process-filter): Use elmo-display-progress
	for retrieval progress;
	Don't display progress when total buffer size is smaller than
	elmo-display-retrieval-progress-threshold.
	(elmo-message-fetch-plugged): Don't display progress when
	elmo-inhibit-display-retrieval-progress is non-nil.

	* elmo-imap4.el (elmo-imap4-find-next-line): Use elmo-display-progress
	for retrieval progress;
	Don't display progress when literal size is smaller than
	elmo-display-retrieval-progress-threshold.
	(elmo-imap4-message-fetch): Don't display progress when
	elmo-inhibit-display-retrieval-progress is non-nil.

2001-06-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-display-literal-progress): New variable.
	(elmo-imap4-find-next-line): Display progress whille literal fetching.
	(elmo-imap4-message-fetch): Likewise.

	* elmo-shimbun.el (elmo-shimbun-default-index-range): New user option.
	(elmo-shimbun-index-range-alist): Ditto.
	(elmo-shimbun-use-entire-index): Abolish.
	(shimbun-mua-use-entire-index): Ditto.
	(elmo-shimbun-folder): Added new slot `range'.
	(elmo-folder-initialize): Setup slot `range'.

2001-06-06  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-shimbun-parse-time-string): New function.
	(elmo-shimbun-msgdb-to-headers): Added `expire-days' argument.
	(elmo-shimbun-get-headers): Use return value of
	`shimbun-article-expiration-days'.
	(elmo-folder-close-internal): Clean up last-check slot.

	* elmo-pop3.el (elmo-pop3-process-filter): Show retrieve progress.
	(elmo-pop3-total-size): New variable.
	(elmo-message-fetch-plugged): Bind elmo-pop3-total-size while fetching.

	* elmo.el (elmo-folder-reserve-status-p): New method.

	* elmo-shimbun.el (elmo-shimbun-headers-cache): Abolish.
	(elmo-shimbun-use-entire-index): New user option.
	(shimbun-elmo-mua): New class.
	(shimbun-mua-search-id): Define.
	(shimbun-mua-use-entire-index): Ditto.
	(elmo-shimbun-folder:last-check): New slot.
	(elmo-shimbun-headers-cache-header-list): Abolish.
	(elmo-shimbun-headers-cache-set-header-list): Ditto.
	(elmo-shimbun-headers-cache-header-hash): Ditto.
	(elmo-shimbun-headers-cache-set-header-hash): Ditto.
	(elmo-shimbun-headers-cache-last-check): Ditto.
	(elmo-shimbun-headers-cache-set-last-check): Ditto.
	(elmo-shimbun-headers-check-p): Rewrite.
	(elmo-shimbun-msgdb-to-headers): New function.
	(elmo-shimbun-get-headers): Rewrite.
	(elmo-folder-initialize): Set 1st argument of `shimbun-open'.
	(elmo-folder-open-internal): Get headers only if
	`elmo-shimbun-headers-check-p' is non-nil.
	(elmo-folder-check): Check only if `elmo-shimbun-headers-check-p'
	is non-nil.
	(elmo-shimbun-msgdb-create-entity): Re-use old msgdb entities.
	(elmo-quit): Removed.

	* elmo-msgdb.el (elmo-msgdb-overview-entity-get-extra): New inline
	function.
	(elmo-msgdb-overview-entity-set-extra): Ditto.
	(elmo-msgdb-make-overview-hashtb): Make hash if overview is non-nil.

	* elmo-map.el (elmo-folder-status): Don't call
	elmo-folder-close-internal if `elmo-folder-reserve-status-p'
	is non-nil.

2001-06-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-search-internal): Call itself instead
	of `elmo-msgdb-search-internal-primitive' when condition's car is
	`and' or `or'.

2001-05-23  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-get-newsgroup-by-msgid): Fix for luna.

2001-05-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-folder-open-internal): Check plugged before
	call `elmo-pipe-drain'.

2001-05-19  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-mark.el (elmo-message-fetch-with-cache-process): Fixed
	typo. (elmo-cache-folder -> elmo-mark-folder)

2001-05-11  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-net.el (elmo-message-fetch-unplugged): Don't call
	`elmo-message-fetch'.

2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-net.el (elmo-message-encache): Fixed typo.
	(elmo-message-fetch-unplugged): Changed call
	`elmo-message-fetch-internal' without argument `outbuf'.

2001-05-10  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-encache): Define as generic function.
	(elmo-message-fetch-field): New generic function.
	(elmo-message-fetch-with-cache-process): Cause an error when
	fetch strategy is 'entire but only 'section cache is available.
	(toplevel): Fixed nmz folder definition.

	* elmo-vars.el (elmo-msgdb-lock-list-filename): Removed.
	(elmo-msgdb-resume-list-filename): Ditto.
	(elmo-queue-filename): Ditto.
	(elmo-enable-disconnected-operation): Changed default value to t.

	* elmo-util.el (elmo-cache-path-section-p): New function.
	(elmo-file-cache-get): Use it.
	(elmo-dop-queue-filename): Moved from elmo-dop.el.
	(elmo-dop-queue-load): Moved from elmo-msgdb.el.
	(elmo-dop-queue-save): Ditto.

	* elmo-net.el (elmo-folder-status-unplugged): Call
	elmo-folder-status-dop.
	(elmo-folder-list-messages-unplugged): Implemented.
	(elmo-folder-delete-messages-unplugged): Define.
	(elmo-folder-msgdb-create): Define.
	(elmo-folder-msgdb-create-unplugged): Define.
	(elmo-folder-mark-as-read-unplugged): Ditto.
	(elmo-folder-unmark-read-unplugged): Ditto.
	(elmo-folder-mark-as-important-unplugged): Ditto.
	(elmo-folder-unmark-important-unplugged): Ditto.
	(elmo-message-encache): Ditto.

	* elmo-msgdb.el (elmo-dop-queue-load): Moved to elmo-util.el.
	(elmo-dop-queue-save): Ditto.

	* elmo-imap4.el (elmo-folder-msgdb-create-plugged): Renamed from
	`elmo-folder-msgdb-create'.
	(elmo-folder-append-buffer): Implemented unplugged operation.
	(elmo-folder-append-messages): Call parent method in unplugged status.
	(elmo-message-fetch-unplugged): Removed definition.
	(elmo-message-fetch-field): Implemented.

	* elmo-dop.el (toplevel): Require 'elmo-localdir.
	(elmo-dop-folder): Removed variable definition.
	(elmo-dop-queue-append): Changed argument `fname' to `folder'.
	(elmo-dop-queue-flush): Implemented.
	(elmo-dop-queue-merge): Removed definition (TODO).
	(elmo-dop-spool-folder): New function.
	(elmo-dop-spool-folder-append-buffer): Ditto.
	(elmo-dop-spool-folder-list-messages): Ditto.
	(elmo-dop-list-deleting-messages): Ditto.
	(elmo-folder-append-buffer-dop): Ditto.
	(elmo-folder-delete-messages-dop): Ditto.
	(elmo-message-encache-dop): New inline function.
	(elmo-create-folder-dop): Ditto.
	(elmo-folder-mark-as-read-dop): Ditto.
	(elmo-folder-unmark-read-dop): Ditto.
	(elmo-folder-mark-as-important-dop): Ditto.
	(elmo-folder-unmark-important-dop): Ditto.
	(elmo-folder-status-dop): Fixed.
	(elmo-folder-append-buffer-dop-delayed): New function.
	(elmo-folder-delete-messages-dop-delayed): Ditto.
	(elmo-dop-msgdb): Ditto.

2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-localdir.el (elmo-folder-pack-numbers): Fixed.

2001-05-10  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-move-messages): Fixed problem when
	`dst-folder' is 'null.

2001-05-09  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-list-importants): Rewirte. Use global mark
	instead of current mark.

	* elmo-multi.el (elmo-folder-list-importants-internal): No
	operation if importants is not list.

	* elmo-filter.el (elmo-filter-folder-list-importants-internal):
	Return t if importants is not list.

	* elmo-map.el (elmo-map-folder-list-importants): Define.
	(elmo-folder-list-importants-internal): Check return value of
	`elmo-map-folder-list-importants-internal'.

	* elmo-cache.el (elmo-folder-list-importants-internal): Eliminated.

	* elmo-mark.el (elmo-folder-list-importants-internal): Ditto.

	* elmo-nmz.el (elmo-folder-list-importants-internal): Ditto.

	* elmo-shimbun.el (elmo-folder-list-importants-internal): Ditto.

2001-05-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-message-fetch-confirm): Fixed docstring.
	(Patch is provided by <kita@coe.nttdata.co.jp>).

2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-synchronize): Don't check important mark in
	mark folder.

2001-05-08  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-message-fetch): Define.
	(elmo-message-fetch-with-cache-process): New generic method.
	(elmo-message-fetch-internal): New generic method.
	(elmo-folder-synchronize):

	* elmo-archive.el (elmo-message-fetch-internal): Define.
	(elmo-message-fetch): Eliminated.

	* elmo-localdir.el (elmo-message-fetch-internal): Define.
	(elmo-message-fetch): Eliminated.

	* elmo-map.el (elmo-map-message-fetch): Eliminated optional
	argument OUTBUF.
	(elmo-message-fetch-internal): Define (Renamed from `elmo-message-fetch').

	* elmo-cache.el (elmo-message-fetch-with-cache-process): Define.
	(elmo-map-message-fetch): Merged with elmo-cache-folder-map-message-fetch.

	* elmo-mark.el (elmo-message-fetch-with-cache-process): Define.
	(elmo-map-message-fetch): Merged with `elmo-mark-folder-map-message-fetch'.

	* elmo-maildir.el (elmo-map-message-fetch): Rewrite.

	* elmo-nmz.el (elmo-map-message-fetch): Ditto.

	* elmo-shimbun.el (elmo-map-message-fetch): Ditto.

	* elmo-net.el (elmo-message-fetch-plugged): Remove cache process.
	(elmo-message-fetch-unplugged): New generic method.
	(elmo-message-fetch-internal): Remove cache process (Renamed from
	`elmo-message-fetch').

	* elmo-nntp.el (elmo-message-fetch-with-cache-process): Define.
	(elmo-message-fetch): Eliminated.
	(elmo-message-fetch-unplugged): Ditto.

	* elmo-imap4.el (elmo-message-fetch-unplugged): Remove cache process.

2001-05-02  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-multi.el (elmo-multi-folder-append-msgdb): Fixed structure
	of `to-be-deleted' from number-alist to number-list.

2001-04-26  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pipe.el (elmo-folder-unmark-important): Fixed typo.
	(elmo-folder-mark-as-important): Ditto.

2001-04-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder): Added process-duplicates slot.

	* elmo-pipe.el (elmo-folder-mark-as-read): Define.
	(elmo-folder-unmark-read): Ditto.
	(elmo-folder-unmark-important): Ditto.
	(elmo-folder-mark-as-important): Ditto.

	* elmo-multi.el (elmo-multi-folder-append-msgdb): Implemented
	duplicated message processing.

	* elmo.el (elmo-generic-folder-append-msgdb): Ditto.

2001-04-24  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-list-subdirectories-1): New function.
	(elmo-list-subdirectories): Use `elmo-list-subdirectories-1'.
	(elmo-mapcar-list-of-list): New function.

	* elmo-archive.el (elmo-archive-folder-list-subfolders): Use
	`elmo-mapcar-list-of-list' instead of `mapcar'.

	* elmo-localdir.el (elmo-folder-list-subfolders): Ditto.

	* elmo-maildir.el (elmo-folder-list-subfolders): Ditto. Bind
	`elmo-have-link-count'. Return the fully qualified folder name.

2001-04-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-shimbun-check-interval): New user option.
	(elmo-shimbun-headers-cache): New internal variable.
	(elmo-shimbun-headers-cache-header-list): New inline function.
	(elmo-shimbun-headers-cache-set-header-list): Ditto.
	(elmo-shimbun-headers-cache-header-hash): Ditto.
	(elmo-shimbun-headers-cache-set-header-hash): Ditto.
	(elmo-shimbun-headers-cache-last-check): Ditto.
	(elmo-shimbun-headers-cache-set-last-check): Ditto.
	(elmo-shimbun-lapse-seconds): Ditto.
	(elmo-shimbun-headers-cache-check-p): Ditto.
	(elmo-shimbun-get-headers): New function.
	(elmo-folder-open-internal): Call it.
	(elmo-quit): Define (Clear headers-cache).

2001-04-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-folder-initialize): Fixed typo (folder->name).

	* elmo-msgdb.el (elmo-msgdb-flist-load): Use elmo-mime-charset.
	(elmo-msgdb-flist-save): Ditto.

	* elmo-shimbun.el (elmo-folder-list-subfolders):
	Use `shimbun-groups' instead of `shimbun-groups-internal'.
	(elmo-folder-exists-p): Ditto.

	* elmo-shimbun.el (elmo-shimbun-msgdb-create-entity): Set `shimbun'
	argument for `shimbun-header-insert'.

2001-04-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-multi.el (elmo-multi-folder-diff): Use dummy number list
	at first time.

	* elmo-util.el (toplevel): Require 'mcharset and 'pces.
	(With a little help from 'NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>')

2001-04-16  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-shimbun.el (elmo-folder-open-internal): Do nothing if unplugged.
	(elmo-folder-plugged-p): Define.
	(elmo-folder-set-plugged): Ditto.
	(elmo-shimbun-msgdb-create-entity): Do nothing if there's no header.
	(elmo-folder-list-messages-internal): Return t if unplugged.
	(elmo-folder-initialize): Fixed for "@gnome.gnome-1.4-list".

	* elmo-multi.el (elmo-folder-list-messages-internal): Fixed problem
	when elmo-folder-list-messages-internal method of children returns t.

	* elmo-map.el (elmo-map-folder-update-locations): Fixed problem when
	pair is nil.
	(elmo-folder-open-internal): Don't update if unplugged status.

2001-04-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-synchronize): Fixed problem when there's no
	new message.

2001-04-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-file-cache-save): Ignore errors.

	* elmo-net.el (elmo-message-fetch): Check cache-path is non-nil before
	saving.

2001-04-09  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-synchronize): Added optional no-check argument.

	* elmo-shimbun.el (elmo-shimbun-folder): Added headers slot.
	(elmo-folder-open-internal): Set up headers slot.
	(elmo-folder-check): Call elmo-folder-close-internal and
	elmo-folder-open-internal.
	(elmo-folder-close-internal): Clean up headers slot.

2001-04-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-archive.el (elmo-archive-folder-list-subfolders): Match
	exactly folder list.
	(elmo-folder-append-messages): Fixed append archive with prefix.

	* elmo-localdir.el (elmo-folder-message-make-temp-files): Fixed
	make temp files with start-number.

	* elmo-pipe.el (elmo-folder-message-make-temp-file-p): Fixed typo.

2001-04-05  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo.el (elmo-folder-list-messages-internal): Fixed lucking optional
	argument `visible-only'.
	(elmo-generic-folder-append-messages): Fixed condition. Use `unless'
	instead of `if'.

	* elmo-pop3.el (elmo-folder-open-internal): Check
	`elmo-inhibit-number-mapping' is non-nil.

	* elmo-pipe.el (elmo-folder-status): Fixed.

2001-04-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-dop-queue-flush): Added autload setting.

	* elmo-shimbun.el (elmo-shimbun-folder): Added `header-hash' slot.
	(elmo-folder-open-internal): Setup `header-hash' slot.
	(elmo-shimbun-msgdb-create-entity): Use `header-hash' to get header
	information.
	(elmo-map-message-fetch): Ditto.

2001-04-04  Yuuichi Teranishi  <teranisi@gohome.org>

	* shimbun.el, sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
	sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
	sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
	sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el, sb-tcup.el: Removed.

	* elmo-util.el (elmo-resque-obsolete-variable): Fix.

2001-04-03  Yuuichi Teranishi  <teranisi@gohome.org>

	* sb-airs.el: Added footer.

	* shimbun.el (shimbun-article): Define as luna-method.

	* sb-tcup.el: New file.

	* sb-airs.el (toplevel): Require 'sb-mhonarc.
	(According to the report from ABE Yasushi <yasushi@indigo.co.jp>)

2001-04-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* sb-asahi.el (shimbun-index-url): Removed redundant '/' in URL string.
	(shimbun-get-headers): Ditto.

	* elmo.el: Moved obsolete variable definitions from
	elmo-imap4.el, elmo-nntp.el and elmo-pop3.el.

	* sb-asahi.el (shimbun-asahi-groups): Deleted "feneral" and "personal"
	groups.

	* shimbun.el: New file.

	* elmo-shimbun.el: New file.

	* sb-airs.el, sb-asahi.el, sb-bbdb-ml.el, sb-cnet.el,
	sb-fml.el, sb-lump.el, sb-mew.el, sb-mhonarc.el,
	sb-netbsd.el, sb-sponichi.el, sb-text.el, sb-wired.el,
	sb-xemacs.el, sb-yomiuri.el, sb-zdnet.el: New files.

2001-03-27  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-imap4-list-folders): Fixed problem when
	hierarchy is t.

2001-03-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-msgdb): Define as macro.
	(elmo-folder-open): Added argument `load-msgdb'.
	(elmo-generic-folder-open): Ditto.
	(elmo-folder-encache): New function.

	* elmo-dop.el (elmo-dop-queue): Moved from elmo-dop.el.

	* elmo-net.el (elmo-message-fetch): Check the cache path is non-nil.

	* elmo-msgdb.el (elmo-msgdb-delete-msgs):
	Eliminated argument FOLDER and added argument MSGDB.
	(elmo-dop-queue-load): Moved from elmo-dop.el.
	(elmo-dop-queue-save): Ditto.

	* elmo-map.el (elmo-map-folder-update-locations): Sort by number.

	* elmo-imap4.el (elmo-folder-open): Added argument load-msgdb.

	* elmo-filter.el (elmo-filter-folder-list-unreads-internal):
	Use elmo-folder-msgdb instead of elmo-folder-msgdb-internal.
	(elmo-filter-folder-list-importants-internal): Ditto.

	* elmo-map.el (elmo-folder-pack-number): Ditto.

	* elmo-mime.el (elmo-mime-message-display): Ditto.

	* elmo.el (elmo-generic-folder-commit): Ditto.
	(elmo-folder-list-unreads): Ditto.
	(elmo-folder-list-importants): Ditto.
	(elmo-generic-folder-commit): Ditto.
	(elmo-message-set-mark): Ditto.
	(elmo-generic-folder-append-msgdb): Ditto.
	(elmo-folder-synchronize): Ditto.
	(elmo-folder-messages): Ditto.
	(elmo-init): Call elmo-dop-queue-load.
	(elmo-folder-list-messages): Ditto.

	* elmo-nntp.el (elmo-folder-update-number): Ditto.
	(elmo-nntp-folder-process-crosspost): Ditto.
	(elmo-folder-list-unreads-internal): Ditto.

	* elmo-dop.el: Removed old functions.

2001-03-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument from
	`folder' to `msgdb'.

2001-03-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* mmimap.el (mmimap-parse-parameters-from-list): Define as alias for
	`mime-decode-parameters' instead of `mime-decode-parameter-plist'.

	* elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Bind
	case-fold-search.

2001-02-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-resque-obsolete-variable): Use defvaralias if
	defined.

	* mmimap.el (toplevel): Require 'mime-parse and 'static.
	(mmimap-parse-parameters-from-list): Define as alias for
	`mime-decode-parameter-plist' if it is defined as function.
	(mmimap-make-mime-entity): Added argument `number'.
	(initialize-instance): Set `number' argument of mmimap-make-mime-entity
	as 0.
	(mime-imap-entity-header-string): Arrange node-id for rfc2060 section.

	* elmo.el (elmo-folder-have-subfolder-p): New generic function.

	* elmo-mark.el (elmo-folder-have-subfolder-p): Define.

	* elmo-internal.el (elmo-folder-list-subfolders): Rewrite.

2001-02-27  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-maildir.el (elmo-folder-msgdb-create): Fixed.

	* elmo-imap4.el (elmo-folder-initialize): Fixed problem
	when elmo-imap4-default-authenticate-type is nil.
	(elmo-folder-list-subfolders): Ditto
	(According to the reported of Bun Mizuhara <mizuhara@acm.org>)
	(elmo-imap4-fetch-callback-1-subr): Renamed from
	`elmo-imap4-fetch-callback-1' and define as inline function.
	(elmo-imap4-fetch-callback-1):
	Renamed from `elmo-imap4-fetch-callback'.
	(elmo-imap4-parse-fetch): Funcall `elmo-imap4-fetch-callback'.

	* elmo-localdir.el (elmo-folder-expand-msgdb-path): Fixed
	msgdb path (To keep compatibility with main trunk).

	* elmo-vars.el (elmo-inhibit-number-mapping): New variable.

	* elmo-util.el (elmo-make-file-cache): Moved position of
	some macros.

	* elmo-pop3.el (elmo-pop3-inhibit-uidl): Eliminated.
	(elmo-pop3-get-session): Use `elmo-inhibit-number-mapping'
	instead of `elmo-pop3-inhibit-uidl'.
	(elmo-folder-exists-p): Ditto.
	(elmo-pop3-folder-list-messages): Ditto.

	* elmo-pipe.el (elmo-pipe-drain): Use `elmo-inhibit-number-mapping'
	instead of `elmo-pop3-inhibit-uidl'.
	(elmo-folder-status): Ditto.

	* elmo-dop.el (elmo-dop-folder): New variable.
	(elmo-dop-lock-message): Eliminated.
	(elmo-dop-unlock-message): Ditto.
	(elmo-dop-lock-list-load): Ditto.
	(elmo-dop-lock-list-save): Ditto.
	(elmo-dop-delete-folder): Ditto.
	(elmo-dop-rename-folder): Ditto.

	* elmo.el: Removed incomplete commentary.

2001-02-25  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo.el (toplevel): Require 'elmo-version first;
	for little `recursive-load-depth' settings.
	Fix "ends here" comment.

2001-02-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (toplevel): Require 'poem;
	Some functions are moved from elmo-cache.el.

	* elmo-net.el (toplevel): Require 'elmo-cache.

	* elmo-msgdb.el (toplevel): Don't require 'elmo-cache.

	* elmo.el (toplevel): Ditto.

	* elmo-cache.el: Rewrite with luna;
	Some functions are moved to elmo-util.el.

	* elmo-internal.el (elmo-internal-folder-list): New variable.
	(elmo-internal-folder-initialize): Rewrite.
	(elmo-folder-list-subfolders): Ditto.

	* elmo-cache.el (elmo-cache-search-all): Eliminated.
	(elmo-cache-collect-sub-directories): Ditto.

2001-02-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.5.8.

	* elmo.el (elmo-folder-list-messages-mark-match): New function.

	* elmo-util.el (elmo-list-insert): New function.

2001-02-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-init): New function.
	(elmo-quit): Call `elmo-crosspost-message-alist-save'.

	* elmo-vars.el (elmo-msgdb-file-header-chop-length): New variable
	(Renamed from `elmo-localdir-header-chop-length').

	* elmo-pop3.el (elmo-pop3-use-cache,
	elmo-pop3-send-command-synchronously): Moved from `elmo-vars.el'.

	* elmo-nntp.el (elmo-message-fetch): Define.
	(elmo-message-fetch-unplugged): Ditto.
	(elmo-nntp-overview-fetch-chop-length): Moved from `elmo-vars.el'.
	(elmo-nntp-use-cache): Ditto.
	(elmo-nntp-max-number-precedes-list-active): Ditto.

	* elmo-multi.el (elmo-multi-divide-number): Moved from `elmo-vars.el'.

	* elmo-msgdb.el (elmo-localdir-insert-header): Renamed to
	`elmo-msgdb-insert-file-header'.
	Use `elmo-msgdb-file-header-chop-length'.

	* elmo-localdir.el (elmo-localdir-lockfile-list): Moved from
	`elmo-vars.el'.

	* elmo-cache.el (elmo-cache-insert-header): Eliminated.
	(elmo-cache-msgdb-create-overview-entity-from-file): Use
	`elmo-msgdb-insert-file-header'.

	* elmo-imap4.el, elmo-nntp.el, elmo-pop3.el:
	Use new variable;
	Define obsolete variables with `elmo-define-obsolete-variable',

	* elmo-util.el (elmo-warning-buffer-name): New constant.
	(elmo-warning): New function.
	(elmo-obsolete-variable-alist): New variable.
	(elmo-obsolete-variable-show-warnings): New variable.
	(elmo-define-obsolete-variable): New function.
	(elmo-resque-obsolete-variable): Ditto.
	(elmo-resque-obsolete-variables): Ditto.

2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-vars.el (elmo-use-buffer-cache, elmo-buffer-cache-size):
	Eliminated.

	* elmo-pop3.el, elmo-nntp.el: Use custom.

2000-02-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-network-authenticate-session): Fix.
	* elmo-pop3.el (elmo-network-authenticate-session): Add comments.

2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* Luna-fy Kenichi OKADA's following changes.
	* elmo.el (elmo-folder-list-messages-internal): Added optional argument
	`nohide'.
	(elmo-folder-synchronize): Changed meaning of argument `ignore-msgdb'.

2001-02-21  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-util.el (elmo-display-progress): Prefer
	`progress-feedback-with-label' to `lprogress-display'.

2000-02-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-imap4-list-folder): Added 'uid'

2000-02-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo2.el (elmo-list-folder): Added optional argument `nohide'.
	* elmo-imap4.el (elmo-imap4-list-folder): Added optional argument `nohide'.
	* elmo-pop3.el (elmo-pop3-list-folder): Ditto.
	* elmo-nntp.el (elmo-nntp-list-folder): Ditto.
	* elmo-localdir.el (elmo-localdir-list-folder): Ditto.
	* elmo-localnews.el (elmo-localnews-list-folder): Ditto.
	* elmo-archive.el (elmo-archive-list-folder): Ditto.
	* elmo-filter.el (elmo-filter-list-folder): Ditto.
	* elmo-internal.el (elmo-internal-list-folder): Ditto.
	* elmo-pipe.el (elmo-pipe-list-folder): Ditto.
	* elmo-multi.el (elmo-multi-list-folder): Ditto.
	* elmo-maildir.el (elmo-maildir-list-folder): Ditto.
	* elmo-dop.el (elmo-dop-list-folder): Ditto.

2000-02-17  Kenichi OKADA  <okada@opaopa.org>

	* elmo-msgdb.el (elmo-msgdb-max-of-killed): New function.
	* elmo-imap4.el (elmo-imap4-list-folder): Use killed-list.

2001-02-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-process-crosspost): New generic method.
	(elmo-folder-writable-p): Ditto.
	(elmo-folder-message-appendable-p): Eliminated.
	(elmo-generic-folder-append-msgdb): Rewrite.
	(elmo-newsgroups-hashtb): New internal variable.
	(elmo-crosspost-message-set): Eliminated.
	(elmo-crosspost-message-delete): Ditto.
	(elmo-setup-subscribed-newsgroups): New function.
	(elmo-crosspost-message-alist-modified): New internal variable.
	(elmo-crosspost-message-alist-load): New function (Renamed from
	`wl-crosspost-alist-load').
	(elmo-crosspost-message-alist-save): Ditto (Renamed from
	`wl-crosspost-alist-save').

	* elmo-util.el (elmo-parse): New function (Renamed from `wl-parse').

	* elmo-nntp.el (elmo-nntp-folder): New slots `temp-crosses' and
	`unreads'.
	(elmo-nntp-groups-hashtb): Eliminated (Renamed to
	elmo-newsgroups-hashtb).
	(elmo-nntp-message-fetch): Call `elmo-nntp-setup-crosspost-buffer',
	`elmo-nntp-folder-update-crosspost-message-alist'.
	(elmo-nntp-get-folders-info): Use `elmo-newsgroups-hashtb' instead of
	`elmo-nntp-groups-hashtb'.
	(elmo-nntp-make-groups-hashtb): Eliminated.
	(elmo-nntp-parse-newsgroups): New function (Renamed from
	`wl-parse-newsgroups').
	(elmo-folder-creatable-p, elmo-folder-writable-p,
	elmo-folder-close-internal, elmo-folder-mark-as-read,
	elmo-folder-process-crosspost, elmo-folder-list-unreads-internal):
	Define.
	(elmo-nntp-folder-update-crosspost-message-alist): New function.

	* elmo-net.el (elmo-message-fetch): Check buffer size.

	* elmo-multi.el (elmo-multi-split-number-alist): New function.

	* elmo-localdir.el (elmo-folder-append-buffer): Fixed logic.

	* elmo-imap4.el (elmo-folder-rename-internal): Send `select' command
	before `close' command.

	* elmo.el (elmo-folder-list-unreads-internal): Added argument
	`mark-alist' (All other related portions are changed).

2001-02-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-create-hash-size): Eliminated.
	(elmo-make-hash) Make a hash with `one less than a power of two'
	length.

	* elmo-vars.el (elmo-hash-minimum-size): New variable.
	(elmo-hash-maximum-size): Changed value.

2001-02-09  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-mime.el (elmo-mime-message-display): Added argument `unread'.
	(elmo-mime-message-display-as-is): Ditto.

2001-02-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pipe.el (elmo-pipe-drain): Eliminated needless bindings;
	Use `elmo-folder-close-internal' instead of `elmo-folder-close'.

2001-02-06  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-mark.el: New file.

	* elmo-internal.el: Rewrite (Almost empty).

2001-02-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* mmimap.el (mmimap-make-mime-entity): Consider message/rfc822.
	(mime-imap-entity-header-string): Ditto.
	(mmimap-entity-section): Rewrite.

2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nmz.el: New file.

	* elmo-pipe.el: Rewrite with luna.

2001-01-29  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-archive.el: Rewrite with luna.

	* elmo-multi.el (elmo-folder-list-unreads-internal): Fixed.
	(elmo-folder-list-importants-internal): Ditto.

2001-01-24  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-archive.el (elmo-archive-version): Abolish.
	(toplevel) Removed `boso' comment.

2001-01-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-add-msgs-to-seen-list): Renamed from
	elmo-msgdb-add-msgs-to-seen-list-subr;
	Changed argument seen-marks to unread-marks.

	* elmo-nntp.el: Rewrite with luna.

2001-01-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-filter.el: Rewrite with luna.

2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el: Rewrite with luna.

2001-01-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-multi.el: Rewrite with luna.

	* elmo-vars.el (elmo-use-killed-list): Abolish.
	All other related portions are changed.
	(elmo-filename-replace-string-alist): Renamed from
	elmo-msgid-replace-string-alist.

2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-delete-msgs): Changed argument.

	* elmo-map.el: New file.
	* elmo-maildir.el: Rewrite with luna.

2001-01-14  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el: Changed meaning of `elmo-folder-commit'.
	* elmo-mime.el (elmo-mime-display-as-is-internal): New function.

2001-01-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el (elmo-folder-append-buffer): New function.
	(Renamed from `elmo-append-msg')

2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-mime.el: New file.

2000-12-14  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-cache.el: Rewrite.

2000-02-17  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Bind `sasl-mechanisms'

2000-12-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-vars.el (elmo): New group.
	(elmo-strict-diff-folder-regexp): New variable.

	* elmo-util.el (elmo-call-func): Abolish.
	(elmo-folder-get-type): Ditto.
	(elmo-*-get-spec): Ditto.
	(elmo-*-spec-*): Ditto.
	(elmo-imap4-identical-name-space-p): Ditto.
	(elmo-folder-identical-system-p): Ditto.
	(elmo-folder-direct-copy-alist): Ditto.
	(elmo-folder-direct-copy-p): Ditto.

	* elmo-pipe.el (elmo-pipe-folder): New luna class.
	(elmo-folder-initialize): Define.
	(elmo-folder-get-primitive-list): Ditto.

	* elmo-nntp.el (elmo-nntp-folder): New luna class.
	(elmo-folder-initialize): Define.
	Renamed `elmo-network-session-host-internal' to
	`elmo-network-session-server-internal'.

	* elmo-multi.el (elmo-multi-folder): New luna class.
	(elmo-folder-initialize): Define.
	(elmo-folder-get-primitive-list): Ditto.
	(elmo-folder-contains-type): Ditto.
	(elmo-message-use-cache-p): Ditto.

	* elmo-msgdb.el (elmo-msgdb-expand-path): Abolish.
	Use `elmo-folder-msgdb-path' instead of `elmo-msgdb-expand-path'.

	* elmo-maildir.el (elmo-maildir-folder): New luna class.
	(elmo-folder-initialize): Define.

	* elmo-filter.el (elmo-filter-folder): New luna class.
	(elmo-folder-initialize): Define.
	(elmo-folder-get-primitive-list): Ditto.
	(elmo-folder-contains-type): Ditto.

2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el: Rewrite with luna.

	* mmimap.el: New file.

	* mmelmo.el, mmelmo-imap4.el: Removed.

	* elmo-net.el: Ditto.

	* elmo-pop3.el (elmo-pop3-folder): New luna class.
	(elmo-folder-initialize): Define.

	* elmo-archive.el (elmo-archive-folder): New luna class.
	(elmo-folder-initialize): Define.

	* elmo-dop.el: Rename `elmo-msgdb-expand-path' to
	`elmo-folder-msgdb-path'.
	(elmo-dop-queue-append): Use `elmo-folder-name-internal' and
	`elmo-make-folder'.

2000-12-06  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo.el: New file.

	* elmo2.el: Renamed to elmo.el.


2001-02-01  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-cache.el (elmo-cache-expire-by-size): Count
	a disk usage for a cache file entry in KB even when
	its kind is a directory.

2001-02-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.5.7.

2001-01-23  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el (elmo-version): Up to 2.5.6.

2001-01-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.5.5.

2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-network-authenticate-session):
	Fixed a logic for response checking.

2000-12-15   Daiki Ueno  <ueno@unixuser.org>

	* elmo-net.el: Add autoload settings for `starttls-negotiate',
	`sasl-find-mechanism', `sasl-make-client', `sasl-mechanism-name',
	`sasl-next-step', `sasl-step-data' and `sasl-step-set-data'; bind
	`sasl-mechanisms'.

	* elmo-imap4.el: Don't require `sasl'; remove autoload settings
	for `starttls-open-stream' and `starttls-negotiate'.

	* elmo-nntp.el: Remove autoload settings for
	`starttls-open-stream' and `starttls-negotiate'.

	* elmo-pop3.el: Don't require `sasl'; remove autoload settings
	for `starttls-open-stream' and `starttls-negotiate'; don't enclose
	`luna-define-class' with `eval-and-compile'.

2000-12-01  Kenichi OKADA  <okada@opaopa.org>

	* elmo-util.el (elmo-read-search-condition-internal):
	Require an element of table for searching field.

2000-11-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.5.4.

2000-11-26  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-network-initialize-session): Accept response 20[01].

2000-11-24  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-network-initialize-session): omitted.

2000-11-22  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-network-initialize-session): Skip garbage output
	before greeting.

2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-delete-folder):
	Send "close" before "delete" (Use commented out line).
	(elmo-imap4-rename-folder): Ditto.

	* elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
	folder string itself.
	(elmo-dop-list-deleted): New function.
	(elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
	killed.

	* elmo-util.el (elmo-string-rassoc-all): New function.

2000-11-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.5.3.

	* elmo-net.el (elmo-network-get-session): Changed logic for
	checking process status.

	* elmo-pop3.el (elmo-network-close-session): Do nothing if session
	process is nil;
	Changed logic for checking process status.

2000-11-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-network-initialize-session): Skip garbage output
	before greeting.
	(elmo-network-setup-session): Set UIDL hash size according to
	the length of list response.
	(elmo-pop3-parse-list-response): Setup elmo-pop3-size-hash
	according to the length of list response;
	Return the length of list response.
	(Adviced by OKAZAKI Tetsurou <okazaki@be.to>)

2000-11-21  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (toplevel): Require 'ssl.
	Add autoload 'starttls.
	* elmo-pop3.el (toplevel): Ditto.
	* elmo-nntp.el (toplevel): Ditto.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (toplevel): defun at compile time.
	sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
	sasl-next-step, sasl-step-data, sasl-step-set-data.
	* elmo-pop3.el (toplevel): Ditto.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
	if error.
	(elmo-network-authenticate-session): Use `elmo-pop-auth-user'
	and `elmo-pop-auth-apop'.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Split
	encoded response value.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Abolish
	`elmo-pop3-force-login'.
	Redefine `sasl-mechanisms'.
	* elmo-vars.el (elmo-pop3-force-login): Ditto.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
	Delete `elmo-imap4-authenticator-alist'.
	(elmo-imap4-auth-cram-md5): Delete.
	(elmo-imap4-auth-digest-md5): Delete.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
	(elmo-pop3-auth-scram-md5): Ditto.
	(elmo-pop3-auth-cram-md5): Ditto.

2000-11-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
	Delete `elmo-pop3-authenticator-alist'.

2000-11-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
	new SASL API.
	* elmo-imap4.el (elmo-network-authenticate-session): Ditto.

2001-01-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-folder-local-p): Treat pipe and filter.

2001-01-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
	Fixed problem when `elmo-pop3-use-uidl' is nil.
	(Reported by Takenobu Sugiyama <sugiyama@ae.advantest.co.jp>)

2000-11-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-version.el (elmo-version): Up to 2.5.2.

2001-01-16  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-sort-overview-by-original-number):
	New function.
	(elmo-pop3-sort-msgdb-by-original-number): Ditto.
	(elmo-pop3-msgdb-create-as-numlist): Use it.

	* elmo-imap4.el (elmo-imap4-arrival-filter): Check process-buffer.
	(Based on the report by AMAKAWA Shuhei <sa264@cam.ac.uk>)

	* elmo-pop3.el (elmo-pop3-msgdb-create-as-numlist): Sort msgdb by date.
	(Pointed out by Mikiya Tani <m-tani@hml.cl.nec.co.jp>)

2001-01-13 Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>

	* elmo2.el (elmo-make-folder-numbers-list): Fixed problem
	when elmo-mark-as-read is called with second argument nil.

2001-01-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pipe.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
	Moved to elmo-util.el.

	* elmo-util.el (elmo-pipe-spec-src, elmo-pipe-spec-dst):
	Moved from elmo-pipe.el

	* elmo-archive.el (elmo-archive-call-process): Enclose with
	static-if.

	* elmo-imap4.el (elmo-imap4-read-msg): Use "BODY[]" instead of
	"RFC822" (because RFC822.PEEK is obsolete).
	(Adviced by IMAI Takeshi <imai@on.rim.or.jp>)

2001-01-10  Katsumi Yamaoka    <yamaoka@jpl.org>

	* elmo-archive.el (elmo-archive-call-process): Don't check for
	the exit status when Nemacs is running.

2001-01-09  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-net.el (elmo-network-session-password-key): Don't set default to
	'plain.

	* elmo-util.el (elmo-imap4-get-spec): Set default of auth to 'clear.
	(elmo-pop3-get-spec): Set default of auth to 'user.

	* elmo-imap4.el (elmo-imap4-session-check):
	Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.
	(elmo-imap4-clear-login): New function; Renamed from `elmo-imap4-login'.
	(elmo-imap4-auth-login): New function; Revival.
	(elmo-network-authenticate-session): Use `elmo-imap4-clear-login' and
	`elmo-imap4-auth-login'.

2000-12-29  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo2.el (toplevel): Move `product-provide' declare.
	* mmelmo.el (toplevel): Ditto.

2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-folder-get-store-type): Rewrite.

2000-12-26  OKAZAKI Tetsurou <okazaki@be.to>

	* elmo-util.el (elmo-folder-get-store-type): New function.
	(elmo-folder-direct-copy-p): Use it.

2000-12-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-msgdb-create): Set
	`elmo-imap4-fetch-callback-data' as a cons cell of `args'
	and result of `elmo-imap4-use-flag-p'.
	(elmo-imap4-fetch-callback-1): Set mark according to
	the result of `elmo-imap4-use-flag-p'.

2000-12-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-generic-folder-diff): Moved from elmo2.el
	(elmo-generic-list-folder-unread): Ditto.
	(elmo-folder-get-info): Ditto.
	(elmo-folder-set-info-max-by-numdb): Ditto.
	(elmo-folder-get-info-max): Ditto.
	(elmo-folder-get-info-length): Ditto.
	(elmo-folder-get-info-unread): Ditto.
	(elmo-folder-info-make-hashtb): Ditto.

	* elmo2.el: Removed above functions.

2000-11-21  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (toplevel): Require 'ssl.
	Add autoload 'starttls.
	* elmo-pop3.el (toplevel): Ditto.
	* elmo-nntp.el (toplevel): Ditto.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (toplevel): defun at compile time.
	sasl-find-mechanism, sasl-make-client, sasl-mechanism-name,
	sasl-next-step, sasl-step-data, sasl-step-set-data.
	* elmo-pop3.el (toplevel): Ditto.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-network-authenticate-session): Use `elmo-imap4-login'

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-pop3-auth-apop): Signal `elmo-pop-auth-apop'
	if error.
	(elmo-network-authenticate-session): Use `elmo-pop-auth-user'
	and `elmo-pop-auth-apop'.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Fix for `APOP'.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Split
	encoded response value.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Abolish
	`elmo-pop3-force-login'.
	Redefine `sasl-mechanisms'.
	* elmo-vars.el (elmo-pop3-force-login): Ditto.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (toplevel): Delete defun-maybe for sasl-*.
	Delete `elmo-imap4-authenticator-alist'.
	(elmo-imap4-auth-cram-md5): Delete.
	(elmo-imap4-auth-digest-md5): Delete.

2000-11-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-pop3-auth-digest-md5): Delete.
	(elmo-pop3-auth-scram-md5): Ditto.
	(elmo-pop3-auth-cram-md5): Ditto.

2000-11-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (toplevel): Delete defun-maybe for sasl-*.
	Delete `elmo-pop3-authenticator-alist'.

2000-11-19  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-network-authenticate-session): Rewrite for
	new SASL API.
	* elmo-imap4.el (elmo-network-authenticate-session): Ditto.


2000-12-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-nntp-get-folders-info): Fixed last change.

2000-12-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-nntp-get-folders-info):
	Fixed problem when '\' character is contained in user-id.
	(Reported by Yoichiro Okabe <okabe@wizsoft.co.jp>)


2000-11-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-delete-folder):
	Send "close" before "delete" (Use commented out line).
	(elmo-imap4-rename-folder): Ditto.

	* elmo-dop.el (elmo-dop-queue-append): Use `elmo-string' to get
	folder string itself.
	(elmo-dop-list-deleted): New function.
	(elmo-dop-list-folder): Treat result of `elmo-dop-list-deleted' as
	killed.

	* elmo-util.el (elmo-string-rassoc-all): New function.

	* elmo-version.el (elmo-version): Up to 2.5.1.

2000-11-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-folder-exists-p): Don't use UIDL.

	* elmo-internal.el (elmo-internal-search): Fix last change.

2000-11-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-internal.el (elmo-internal-search): Rewrite.
	(Fixed problem which is pointed out by Akihiro MOTOKI
	<motoki@da.jp.nec.com>)

	* elmo-version.el (elmo-version): Up to 2.5.0.

2000-11-06  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-imap4-list-folders): Append authenticate-type.

2000-11-06  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-imap4-list-folders): When hierarchy is
	non-nil, make hierarchy.

2000-11-05  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-pipe.el (elmo-pipe-drain): When calling `elmo-list-folder',
	`elmo-pop3-use-uidl' must be bound to nil.
	(Pointed out by Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>)

2000-11-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-copy-file): Don't cause an error after
	`add-name-to-file' failed.

	* elmo-pipe.el (elmo-pipe-drain): List folder before loading msgdb.
	(Fix by HIROSE Yuuji <yuuji@gentei.org>)

2000-11-01  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el (elmo-version): Up to 2.3.93.

2000-11-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-flatten): New function.

2000-10-31  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-archive.el (toplevel): Added (C) to copyright notice, and
	sync Author header.
	* elmo-cache.el (toplevel): Ditto.
	* elmo-database.el (toplevel): Ditto.
	* elmo-date.el (toplevel): Ditto.
	* elmo-dop.el (toplevel): Ditto.
	* elmo-filter.el (toplevel): Ditto.
	* elmo-imap4.el (toplevel): Ditto.
	* elmo-internal.el (toplevel): Ditto.
	* elmo-localdir.el (toplevel): Ditto.
	* elmo-localnews.el (toplevel): Ditto.
	* elmo-maildir.el (toplevel): Ditto.
	* elmo-msgdb.el (toplevel): Ditto.
	* elmo-multi.el (toplevel): Ditto.
	* elmo-net.el (toplevel): Ditto.
	* elmo-nntp.el (toplevel): Ditto.
	* elmo-pipe.el (toplevel): Ditto.
	* elmo-pop3.el (toplevel): Ditto.
	* elmo-util.el (toplevel): Ditto.
	* elmo-vars.el (toplevel): Ditto.
	* elmo2.el (toplevel): Ditto.
	* mmelmo-imap4.el (toplevel): Ditto.
	* mmelmo.el (toplevel): Ditto.

	* elmo-version.el (elmo-version): Move to top.

	* elmo-cache.el (toplevel): Fixed multiple Author header format.
	* elmo-imap4.el (toplevel): Ditto.
	* elmo-localdir.el (toplevel): Ditto.
	* elmo-msgdb.el (toplevel): Ditto.
	* elmo-nntp.el (toplevel): Ditto.
	* elmo-pop3.el (toplevel): Ditto.
	* elmo-version.el (toplevel): Ditto.

	* elmo-localnews.el (toplevel): Added Keyword header.

2000-10-31  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (product-version-as-string): Defined using
	`defun-maybe'.
	(toplevel): Use it.

	* elmo-localdir.el (toplevel): Updated copyright notice.
	* elmo-version.el (toplevel): Ditto.
	* elmo-msgdb.el (toplevel): Ditto.
	* elmo-imap4.el (toplevel): Ditto.
	* elmo-nntp.el (toplevel): Ditto.
	* elmo-pop3.el (toplevel): Ditto.

2000-10-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pipe.el (elmo-pipe-drain): Don't save msgdb after moving
	messages.

	* mmelmo.el (mime-parse-parameters-from-list): Don't downcase
	parameter value (It sometimes contains raw kanji).

2000-10-28  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-network-initialize-session): Check capability.
	* elmo-pop3.el (elmo-network-initialize-session): Ditto.

2000-10-28  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-network-initialize-session): Fix.

2000-10-28  Kenichi OKADA  <okada@opaopa.org>

	* elmo-imap4.el (elmo-network-initialize-session): Change error message.
	* elmo-pop3.el (elmo-network-initialize-session): Change error message.

2000-10-27  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-session-select-mailbox): Return response
	value if selecting folder succceeded.
	(Advised by MII Kazuyoshi <mii@isl.ntt.co.jp> for prom-wl.)

2000-10-26  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-util.el (elmo-make-directory): Fixed permission lateral
	representation.

	* elmo-util.el (elmo-string-matched-member): New function.

2000-10-26  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-unintern): New macro.
	(elmo-number-set-member): Fixed docstring.

	* elmo-imap4.el (elmo-imap4-parse-response): Call `elmo-unintern' for
	tag token.

2000-10-25  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-client-eol): Remove duplicated defvar
	of `elmo-imap4-status' and `elmo-imap4-reached-tag'.

2000-10-24  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-session-select-mailbox): Added argument
	`no-error'.
	Added docstring.
	Return non-nil if selecting folder succeeded.
	(elmo-imap4-folder-exists-p): Call with argument 'no-error.

2000-10-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-maildir.el (elmo-maildir-get-filename): Fixed problem when
	`file-name-completion' returns t.
	(Reported by Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>)
	(elmo-maildir-set-mark): Put `info' part to the files in the cur
	directory if it does not exist.
	(elmo-maildir-update-current): Use `while' instead of `mapcar'
	for iteration.

2000-10-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-folder-exists-p): Removed `condition-case'
	enclosure (It's harmful in unplugged status).

	* elmo-pop3.el (elmo-pop3-folder-exists-p): Ditto.

	* mmelmo-1.el: Removed.

	* mmelmo-2.el: Ditto.

	* mmelmo-imap4-1.el: Ditto.

	* mmelmo-imap4-2.el: Ditto.

	* mmelmo-imap4.el: Merged mmelmo-imap4-2.el

	* mmelmo.el: Merged mmelmo-2.el.

	* elmo-version.el (elmo-version): Up to 2.3.92.

2000-10-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo2.el (elmo-move-msgs, elmo-msgdb-load, elmo-msgdb-save,
	elmo-update-number): Remove last period in "...done." message.
	* elmo-archive.el (elmo-archive-msgdb-create-as-numlist-subr1):
	Ditto.
	* elmo-cache.el (elmo-cache-expire-by-size,
	elmo-cache-get-sorted-cache-file-list,
	elmo-cache-msgdb-create-as-numlist): Ditto.
	* elmo-dop.el (elmo-dop-save-pending-messages,
	(elmo-dop-flush-pending-append-operations): Ditto.
	* elmo-imap4.el (elmo-imap4-msgdb-create): Ditto.
	* elmo-internal.el (elmo-internal-msgdb-create): Ditto.
	* elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist,
	(elmo-localdir-pack-number): Ditto.
	* elmo-maildir.el (elmo-maildir-msgdb-create): Ditto.
	* elmo-msgdb.el (elmo-msgdb-sort-by-date): Ditto.
	* mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer,
	mime-write-entity-content): Ditto.
	* pldap.el (ldap-search-basic): Ditto.

2000-10-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.3.91.

	* elmo-filter.el (elmo-filter-folder-diff): Use target folder's diff
	Only when filter is 'last'.

	* elmo-util.el (elmo-condition-atom-regexp): New constant.
	(elmo-condition-parse-search-value): Use it.
	(elmo-read-search-condition-internal): Quote value only when
	it is not an atom.

2000-10-18  Kenichi OKADA  <okada@opaopa.org>

	* elmo2.el (elmo-generic-folder-diff): Fix.

2000-10-17  Kenichi OKADA  <okada@opaopa.org>

	* elmo-msgdb.el (elmo-msgdb-killed-list-length): New function.
	* elmo-localdir.el (elmo-localdir-list-folder-subr): Fix.
	* elmo-maildir.el (elmo-maildir-list-folder-subr): Fix.
	* elmo-archive.el (elmo-archive-list-folder-subr): Fix.
	* elmo-internal.el (elmo-internal-list-folder-subr): Fix.
	* elmo-imap4.el (elmo-imap4-max-of-folder): Fix.

2000-10-17  Akihiro MOTOKI <motoki@da.jp.nec.com>

	* elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Search by
	extra-fields.

2000-10-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-version.el (elmo-version): Up to 2.3.90.

	* elmo-imap4.el (elmo-imap4-list-folder-unread): Check plugged status.
	(elmo-imap4-list-folder-important): Ditto.

2000-10-16  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-network-initialize-session): Fix.

2000-10-16  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-read-msg): Don't error.

2000-10-15  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-network-initialize-session):
	Add starttls negotiation.

2000-10-15  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-nntp.el (elmo-network-initialize-session): Read greeting
	response.
	(elmo-network-setup-session): Define.
	Call `elmo-nntp-send-mode-reader' when session opened.

2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-multi.el (elmo-multi-list-folder-unread): Fixed.

2000-10-13  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-search-internal-primitive): Remove
	an invalid SPACE character ahead of `SEARCH' command.  Move
	a valid SPACE character following `SEARCH' from conditional
	`format' arguments to control-strings.

2000-10-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo2.el (elmo-call-func-on-markable-msgs): Return t if marking
	was succeeded.

	* elmo-util.el (elmo-folder-get-spec): Enclose with save-match-data.

2000-10-12  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-localdir.el (elmo-localdir-list-folders-subr): Bind
	`w32-get-true-file-link-count' as t.

	* elmo-imap4.el (elmo-imap4-read): Abolished.
	(Renamed to `elmo-read' and moved to elmo-util.el)
	All other related portions are changed.

	* elmo-util.el (elmo-read): New function.
	(elmo-condition-parse-search-value): Use it.

2000-10-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo2.el (elmo-quit): Don't use `elmo-nntp-flush-connection'.

	* elmo-nntp.el (elmo-nntp-session): Define.
	(elmo-nntp-setting): Abolished.
	All other related portions are changed.
	(elmo-nntp-get-server-command): Changed argument.
	(elmo-nntp-set-server-command): Ditto.
	(elmo-nntp-xover-p): Ditto.
	(elmo-nntp-set-xover): Ditto.
	(elmo-nntp-listgroup-p): Ditto.
	(elmo-nntp-set-listgroup): Ditto.
	(elmo-nntp-list-active-p): Ditto.
	(elmo-nntp-set-list-active): Ditto.
	(elmo-nntp-xhdr-p): Ditto.
	(elmo-nntp-set-xhdr): Ditto.
	(elmo-nntp-flush-connection): Abolished.
	(elmo-nntp-get-connection): Abolished.
	(elmo-nntp-get-session): New function.
	(elmo-network-initialize-session): Defined.
	(elmo-network-authenticate-session): Ditto.
	(elmo-nntp-send-mode-reader): Changed argument.
	(elmo-nntp-send-command): Changed argument.
	All other related portions are changed.
	(elmo-nntp-read-response): Ditto.
	(elmo-nntp-read-raw-response): Ditto.
	(elmo-nntp-read-contents): Ditto.
	(elmo-nntp-read-body): Ditto.
	(elmo-nntp-goto-folder): Abolished.
	(elmo-nntp-select-group): New function.
	All other related portions are changed.
	(This function substitutes `elmo-nntp-goto-folder')
	(elmo-nntp-msgdb-create-by-header): Rewrite.
	(elmo-nntp-get-overview): Eliminated.
	(elmo-nntp-get-message): Ditto.
	(elmo-nntp-open-connection) Abolished.
	(elmo-nntp-read-msg): Rewrite.
	(elmo-nntp-post): Ditto.
	(elmo-nntp-send-data): Abolished.
	(elmo-nntp-send-buffer): New function.
	(elmo-nntp-send-data-line): Define as inline function.
	(elmo-nntp-get-folders-info-prepare): Use session as key.
	(elmo-nntp-groups-read-response): Changed argument.
	(elmo-nntp-retrieve-headers): Ditto.
	(elmo-nntp-msgdb-create-message): Ditto.

	* elmo-msgdb.el (elmo-msgdb-search-internal-primitive): Fixed problem
	when searching by 'since' or 'before'.

2000-10-11  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el (toplevel): Use product-version-as-string for set
	verstion-string, if defined.

2000-10-11  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-util.el: Doc fixes.

2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-archive.el (toplevel): Use product-provide.
	* elmo-cache.el (toplevel): Ditto.
	* elmo-database.el (toplevel): Ditto.
	* elmo-date.el (toplevel): Ditto.
	* elmo-dop.el (toplevel): Ditto.
	* elmo-filter.el (toplevel): Ditto.
	* elmo-imap4.el (toplevel): Ditto.
	* elmo-internal.el (toplevel): Ditto.
	* elmo-localdir.el (toplevel): Ditto.
	* elmo-localnews.el (toplevel): Ditto.
	* elmo-maildir.el (toplevel): Ditto.
	* elmo-msgdb.el (toplevel): Ditto.
	* elmo-multi.el (toplevel): Ditto.
	* elmo-net.el (toplevel): Ditto.
	* elmo-nntp.el (toplevel): Ditto.
	* elmo-pipe.el (toplevel): Ditto.
	* elmo-pop3.el (toplevel): Ditto.
	* elmo-util.el (toplevel): Ditto.
	* elmo-vars.el (toplevel): Ditto.
	* elmo2.el (toplevel): Ditto.
	* mmelmo-1.el (toplevel): Ditto.
	* mmelmo-2.el (toplevel): Ditto.
	* mmelmo-imap4-1.el (toplevel): Ditto.
	* mmelmo-imap4-2.el (toplevel): Ditto.
	* mmelmo-imap4.el (toplevel): Ditto.
	* mmelmo.el (toplevel): Ditto.

2000-10-10  Kenichi OKADA  <okada@opaopa.org>

	* elmo-dop.el (elmo-dop-flush-pending-append-operations): Add no-see.
	(elmo-dop-call-func-on-msgs): Don't delete appends from msgs.

2000-10-10  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-multi.el (elmo-multi-split-mark-alist): Copy and sort alist
	before splitting.
	(elmo-multi-split-number-alist): Ditto.

2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>

	* elmo-version.el: New file.  Use product.el.
	* elmo2.el: Add (require 'elmo-version).
	* elmo-vars.el (elmo-appname, elmo-version): Move to
	elmo-version.el

2000-10-09  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo2.el (elmo-copy-msgs): Set `spec' as 1st argument for
	`elmo-msgdb-expand-path'.
	(elmo-msgdb-load): Ditto.
	Abolished 2nd argument.	If 1st argument is not string, treat as spec.
	(elmo-generic-list-folder-unread): Rewrite.
	(elmo-generic-list-folder-important): Changed argument.
	(elmo-list-folder-unread): Ditto.
	(elmo-list-folder-important): Ditto.
	(elmo-folder-diff): Rewrite.
	(elmo-generic-folder-diff): New function.
	(elmo-multi-get-number-alist-list): Abolished
	(Renamed to elmo-multi-split-number-alist and moved to elmo-multi.el)
	(elmo-multi-folder-diff): Moved to elmo-multi.el
	(toplevel): Removed autoload setting of `elmo-multi-folder-diff'.

	* elmo-pop3.el (elmo-pop3-list-folder): Set `spec' as 1st argument for
	`elmo-msgdb-expand-path'.
	(elmo-pop3-msgdb-create-as-numlist): Ditto.
	(elmo-pop3-read-msg): Ditto.
	(elmo-pop3-delete-msgs): Ditto.
	(elmo-pop3-folder-diff): New alias.

	* elmo-pipe.el (elmo-pipe-list-folder): Set `spec' as 1st argument for
	`elmo-msgdb-expand-path'.
	(elmo-pipe-list-folder-unread): Changed arguments.
	(elmo-pipe-list-folder-important): Ditto.
	(elmo-pipe-folder-diff): New alias.

	* elmo-nntp.el (elmo-nntp-list-folder): Set `spec' as 1st argument for
	`elmo-msgdb-expand-path'.
	(elmo-nntp-max-of-folder): Ditto.
	(elmo-nntp-msgdb-create): Ditto.
	(elmo-nntp-delete-msgs): Ditto.
	(elmo-nntp-folder-diff): New alias.

	* elmo-multi.el (elmo-multi-folder-diff): New function.
	(elmo-multi-split-mark-alist): Ditto.
	(elmo-multi-split-number-alist): Ditto.
	(elmo-multi-mark-alist-list): Abolished (Renamed to
	elmo-multi-split-mark-alist).
	(elmo-multi-list-folder-unread): Rewrite.
	(elmo-multi-list-folder-important): Ditto.
	(elmo-multi-list-folder): Set `spec' as 1st argument for
	`elmo-msgdb-expand-path'.
	(elmo-multi-sync-number-alist): Use `elmo-multi-split-number-alist'
	instead of `elmo-multi-get-number-alist-list'.

	* elmo-msgdb.el (elmo-msgdb-expand-path): Abolished 2nd argument.
	If 1st argument is not string, treat as spec.
	(elmo-list-folder-by-location): Set `spec' as 1st argument for
	`elmo-msgdb-expand-path'.
	(elmo-msgdb-flist-load): Ditto.
	(elmo-msgdb-flist-save): Ditto.
	(elmo-msgdb-delete-path): Ditto.
	(elmo-msgdb-rename-path): Ditto.

	* elmo-maildir.el (elmo-maildir-set-mark-msgs):
	Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
	(elmo-maildir-delete-mark-msgs): Ditto.
	(elmo-maildir-msgdb-create): Ditto.
	(elmo-maildir-read-msg): Ditto.
	(elmo-maildir-delete-msgs): Ditto.
	(elmo-maildir-list-folder-subr): Ditto.
	(elmo-maildir-search): Ditto.
	(elmo-maildir-get-msg-filename): Ditto.
	(elmo-maildir-pack-number): Ditto.
	(elmo-maildir-folder-diff): New alias.

	* elmo-localnews.el (elmo-localnews-folder-diff): New alias.

	* elmo-localdir.el (elmo-localdir-list-folder-subr):
	Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
	(elmo-localdir-folder-diff): New alias.

	* elmo-internal.el (elmo-internal-list-folder-subr):
	Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
	(elmo-internal-list-folder-by-location): Ditto.
	(elmo-internal-msgdb-create): Ditto.
	(elmo-internal-delete-msgs): Ditto.
	(elmo-internal-read-msg): Ditto.
	(elmo-internal-folder-diff): New alias.

	* elmo-imap4.el (elmo-imap4-folder-diff): New function.
	(elmo-imap4-list-folder): Set `spec' as 1st argument for
	`elmo-msgdb-expand-path'.
	(elmo-imap4-list-folder-unread): Changed arguments.
	(elmo-imap4-list-folder-important): Ditto.

	* elmo-filter.el (elmo-filter-list-folder-unread): Changed arguments.
	(elmo-filter-list-folder-important): Ditto.
	(elmo-filter-folder-diff): New function.

	* elmo-dop.el (elmo-dop-folder-exists-p): Check elmo directory first.

	* elmo-cache.el (elmo-cache-list-folder):
	Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
	(elmo-cache-copy-msgs): Ditto.
	(elmo-cache-folder-diff): New alias.

	* elmo-archive.el (elmo-archive-list-folder-subr):
	Set `spec' as 1st argument for `elmo-msgdb-expand-path'.
	(elmo-archive-get-archive-name): Ditto.
	(elmo-archive-create-file): Ditto.
	(elmo-archive-append-msg): Ditto.
	(elmo-archive-copy-msgs): Ditto.
	(elmo-archive-copy-msgs-froms): Ditto.
	(elmo-archive-get-msg-filename): Ditto.
	(elmo-archive-folder-diff): New alias.

2000-10-06   Daiki Ueno  <ueno@unixuser.org>

	* elmo-vars.el (elmo-imap4-stream-type-alist): New variable.
	(elmo-pop3-stream-type-alist): New variable.
	(elmo-nntp-stream-type-alist): New variable.

	* elmo-util.el (elmo-buffer-exists-p): Rewrite as function.
	(elmo-kill-buffer): Ditto.
	(elmo-get-network-stream-type): Add 2nd argument `stream-type-alist'.
	(elmo-network-get-spec): Add 5th argument `stream-type-alist'.
	(elmo-nntp-get-spec): Take into account `elmo-nntp-stream-type-alist'.
	(elmo-pop3-get-spec): Take into account `elmo-pop3-stream-type-alist'.
	(elmo-imap4-get-spec): Take into account
	`elmo-imap4-stream-type-alist'.

2000-10-06  Kenichi OKADA  <okada@opaopa.org>

	* elmo-nntp.el (elmo-nntp-list-folders): Fix for `-/'
	(elmo-nntp-list-folders-get-cache): Ditto.

2000-10-05  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-search-internal-primitive): Added space
	character before 'uid'.

2000-10-04  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-delete-msgs): Don't save location data.

	* elmo-nntp.el (elmo-nntp-max-of-folder): Fixed.

	* elmo-util.el (elmo-number-set-member): New function.
	(elmo-number-set-append-list): Ditto.
	(elmo-number-set-append): Ditto.

	* elmo-msgdb.el (elmo-msgdb-killed-message-p):
	Use `elmo-number-set-member'.
	(elmo-living-messages): Ditto.
	(elmo-msgdb-set-as-killed): Use `elmo-number-set-append'.
	(elmo-msgdb-append-to-killed-list): Use `elmo-number-set-append-list'.

	* elmo-imap4.el (elmo-imap4-folder-exists-p): Rewrite.
	(elmo-imap4-add-to-cont-list): Abolished.
	(elmo-imap4-make-number-set-list): Use `elmo-number-set-append'
	instead of elmo-imap4-add-to-cont-list.

	* elmo2.el (elmo-msgdb-search): Moved from elmo-msgdb.el.
	(toplevel): Removed autoload setting for `elmo-imap4-get-connection'.

	* elmo-msgdb.el (elmo-msgdb-search): Moved to elmo2.el.

2000-10-03  Hiroya Murata      <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-util.el (elmo-condition-parse-search-value):
	Fixed date parsing.

2000-10-03  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-condition-find-key-internal): New function.
	(elmo-condition-find-key): Ditto.

	* elmo-msgdb.el (elmo-msgdb-search-internal-primitive): New function.
	(elmo-msgdb-search-internal): Ditto.
	(elmo-msgdb-search): Ditto.

2000-10-02  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-cross-device-link-error-p): Abolished.
	(elmo-copy-file): Uncheck error condition for `add-name-to-file'.

	* elmo-nntp.el (elmo-nntp-search-primitive): Decode header field.
	(elmo-nntp-search-primitive): Fixed problem when condition is
	'unmatch'.

	* elmo-util.el (elmo-buffer-field-primitive-condition-match): Fixed.

	* elmo-nntp.el (elmo-nntp-default-use-xhdr): New variable.
	(elmo-nntp-xhdr-p): New macro.
	(elmo-nntp-set-xhdr): Ditto.
	(elmo-nntp-parse-xhdr-response): New function.
	(elmo-nntp-retrieve-field): Ditto.
	(elmo-nntp-search-primitive): Ditto.
	(elmo-nntp-search): Implemented.

	* elmo-date.el (elmo-date-make-sortable-string): New macro.

	* elmo-archive.el (elmo-archive-search): Set all number list to
	`elmo-archive-field-condition-match'

	* elmo-localdir.el (elmo-localdir-search): Likewise.

	* elmo-maildir.el (elmo-maildir-search): Likewise.

2000-10-01  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-msgdb.el (elmo-living-messages): New function.
	* elmo-archive.el (elmo-archive-list-folder-subr): Use it.
	* elmo-cache.el (elmo-cache-list-folder): Ditto.
	* elmo-dop.el (elmo-dop-list-folder): Ditto.
	* elmo-imap4.el (elmo-imap4-list-folder): Ditto.
	* elmo-internal.el (elmo-internal-list-folder-subr): Ditto.
	* elmo-localdir.el (elmo-localdir-list-folder-subr): Ditto.
	* elmo-maildir.el (elmo-maildir-list-folder-subr): Ditto.
	* elmo-multi.el (elmo-multi-list-folder): Ditto.
	* elmo-nntp.el (elmo-nntp-list-folder): Ditto.
	* elmo-pipe.el (elmo-pipe-list-folder): Ditto.
	* elmo-pop3.el (elmo-pop3-list-folder): Ditto.

2000-09-29  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-maildir.el (elmo-maildir-pack-number): Implemented.

	* elmo-msgdb.el (elmo-msgdb-delete-msgs): Save location data.

	* elmo2.el (elmo-pack-number): Added 'maildir as allowd type.

	* elmo-imap4.el (elmo-imap4-search-internal-primitive): Fixed
	arguments for `SEARCH' command.
	(elmo-imap4-parse-string): Set `POS' argument for char-after.
	All other related portions are changed.

	* elmo-cache.el (elmo-cache-search-all): Added argument `from-msgs'.

	* elmo2.el (elmo-generic-list-folder-unread): Rewrite.
	(elmo-list-folder-unread): Rewrite.
	(elmo-list-folder-important): Ditto.

	* elmo-util.el (elmo-filter-get-spec): Rewrite.
	(elmo-condition-parse-error): New inline function.
	(elmo-read-search-condition): New function.
	(elmo-read-search-condition-internal): Ditto.
	(elmo-parse-search-condition): Rewrite.
	(elmo-condition-parse): New function.
	(elmo-condition-parse-or-expr): Ditto.
	(elmo-condition-parse-and-expr): Ditto.
	(elmo-condition-parse-primitive): Ditto.
	(elmo-condition-parse-search-value): Ditto.
	(elmo-buffer-field-primitive-condition-match): Ditto.
	(elmo-buffer-field-condition-match): Rewrite.
	(elmo-file-field-condition-match): Ditto.

	* elmo-msgdb.el (elmo-msgdb-expand-path): Use
	`elmo-replace-msgid-as-filename' instead of `elmo-safe-filename'.

	* elmo-internal.el (elmo-internal-search): Set `number' and
	`number-list' argument of `elmo-file-field-condition-match'.

	* elmo-maildir.el (elmo-maildir-search): Ditto.

	* elmo-imap4.el (elmo-imap4-list-folder-unread): Use
	`msgdb' as argument instead of `mark-alist'.
	(elmo-imap4-list-folder-important): Use `msgdb' as argument instead of
	`overview'.

	* elmo-multi.el: Likewise.

	* elmo-pipe.el: Likewise.

	* elmo-imap4.el	(elmo-imap4-search-internal-primitive): New function.
	(elmo-imap4-search-internal): Rewrite.
	(elmo-imap4-search): Ditto.

	* elmo-filter.el (elmo-filter-list-folder): Rewrite.
	(elmo-filter-list-folder-unread): Ditto.
	(elmo-filter-list-folder-important): Ditto.
	(elmo-filter-search): Rewrite.

	* elmo-cache.el (elmo-cache-search-all): Set `number' and
	`number-list' argument of `elmo-file-field-condition-match'.
	(elmo-cache-search): Ditto.

	* elmo-localdir.el: Likewise.

	* elmo-archive.el (elmo-archive-field-condition-match): Added argument
	number-list and pass it to `elmo-buffer-field-condition-match'.
	(elmo-archive-field-condition-match): Pass `number-list' to
	`elmo-archive-field-condition-match'

2000-09-25  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-nntp-list-folder): Set current group after
	`listgroup'.

	* elmo2.el (elmo-folder-diff-async-callback): New variable.
	(elmo-folder-diff-async-callback-data): Ditto.
	(elmo-folder-diff-async): New function.

	* elmo-net.el (elmo-network-session-name-prefix): New variable.
	(elmo-network-session-cache-key): Use it as a prefix of the session
	name.
	(elmo-network-open-session): Ditto.

	* elmo-imap4.el (elmo-imap4-status-callback): New local variable.
	(elmo-imap4-status-callback-data): Ditto.
	(elmo-imap4-server-diff-async-callback): New variable.
	(elmo-imap4-server-diff-async-callback-data): Ditto.
	(elmo-imap4-local-variables): Added `elmo-imap4-status-callback' and
	`elmo-imap4-status-callback-data'.
	(elmo-imap4-max-of-folder): Set `elmo-imap4-status-callback' and
	`elmo-imap4-status-callback-data' as nil.
	(elmo-imap4-server-diff): Ditto.
	(elmo-imap4-server-diff-async-callback-1): New function.
	(elmo-imap4-server-diff-async): Ditto.
	(elmo-imap4-parse-status): Call `elmo-imap4-status-callback'.

2000-09-24  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-util.el (elmo-list-delete): Doc fix.
	(elmo-delete-lists): Abolish.
	* elmo2.el (elmo-crosspost-message-delete): Use `elmo-list-delete'
	instead of `elmo-delete-lists'.

2000-09-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-make-number-set-list): Copy `msg-list'
	before `sort'.

2000-09-18  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-literal-1): Renamed from
	`elmo-imap4-literal-subr'.
	(elmo-imap4-string-1): Renamed from `elmo-imap4-string-subr'.
	(elmo-imap4-astring-1): Renamed from `elmo-imap4-astring-subr'.

2000-09-15  Kenichi OKADA  <okada@opaopa.org>

	* elmo-archive.el (elmo-archive-list-folder-subr): Fix.
	(elmo-archive-list-folder): Fix.
	(elmo-archive-max-of-folder): Fix.

2000-09-15  Kenichi OKADA  <okada@opaopa.org>

	* elmo-localdir.el (elmo-localdir-copy-msgs): Use
	 `elmo-localdir-max-of-folder' instead of 'elmo-localdir-list-folder-subr'.
	(elmo-localdir-append-msg): Ditto.
	(elmo-localdir-list-folder): Fix for `nonsort'.
	(elmo-localdir-list-folder-subr): Fix for `killed'.
	* elmo-maildir.el (elmo-maildir-list-folder): Ditto.
	(elmo-maildir-list-folder-subr): Ditto.
	* elmo-archive.el (elmo-archive-list-folder): Ditto.
	(elmo-archive-list-folder-subr): Ditto.
	* elmo-internal.el (elmo-internal-list-folder): Ditto.
	(elmo-internal-list-folder-subr): Ditto.

2000-09-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-parse-flag-list): Rewrite.

2000-09-12  Katsumi Yamaoka    <yamaoka@jpl.org>

	* elmo-util.el (elmo-delete-plugged): Fix parenthesis.

2000-09-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity):
	Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.

	* elmo-imap4.el (elmo-network-initialize-session): Skip garbage output
	before greeting.
	(elmo-imap4-read-part): Use "body.peek" to fetch part.
	Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'.

2000-09-06  Yuuichi Teranishi  <teranisi@gohome.org>

	* mmelmo-imap4-2.el (mime-entity-children): Defined.

	* elmo-imap4.el (elmo-imap4-mark-set-on-msgs):
	Clear `elmo-imap4-fetch-callback' and `elmo-imap4-fetch-callback-data'
	before STORE command.

2000-09-04  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo2.el (elmo-multi-folder-diff): Fixed problem of filter folder.

	* elmo-imap4.el (elmo-imap4-authenticator-alist): Added `plain' entry.
	(elmo-imap4-send-command): Use `elmo-imap4-current-response' instead
	of `response'.
	(elmo-imap4-list-folders): Removed unused local variable.
	(elmo-network-initialize-session): Ditto.
	(elmo-imap4-delete-msg-by-id): Ditto.
	(elmo-imap4-parse-fetch): Ditto.
	(elmo-imap4-copy-msgs): Ditto.
	Use `dst-spec' instead of `dst-folder'.
	(elmo-network-authenticate-session): Check authenticate type `plain'.

2000-09-01  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-parse-response): Use string-match for
	garbage checking.
	(elmo-imap4-read-part): Use `elmo-imap4-response-value-all' instead of
	`elmo-imap4-response-value'.
	(elmo-imap4-parse-response): Return value of `EXPUNGE'.

2000-08-31  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-send-command):
	Cause elmo-imap4-bye-error when current response is BYE.
	(elmo-imap4-arrival-filter): Changed greeting response value.

	* elmo2.el (elmo-imap4-bye-error): Define.

	* elmo-imap4.el (elmo-imap4-list): Don't call `elmo-imap4-commit'.
	(elmo-imap4-server-diff): Ditto.
	(elmo-imap4-response-bye-p): New macro.
	(elmo-imap4-response-error-text): Get text from BYE response.
	(elmo-imap4-read-response): Return if BYE response.
	(elmo-imap4-accept-ok): Cause elmo-imap4-bye-error when BYE response.
	(elmo-imap4-folder-exists-p): Ditto.
	(elmo-imap4-commit): Do nothing when different mailbox is selected.
	(elmo-imap4-parse-bye): New function.
	(elmo-imap4-parse-response): Remove needless let.
	Call `elmo-imap4-parse-bye'.

2000-08-30  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-imap4.el (elmo-imap4-folder-exists-p): Don't cause an error when
	the mailbox does not exist.
	(elmo-imap4-parse-namespace): Copy `elmo-imap4-extra-namespace-alist'.

2000-08-30  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-send-command): Remove unused local variable.

2000-08-29  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-vars.el (elmo-search-mime-charset): Abolished.

	* elmo-pop3.el (elmo-pop3-local-variables): New variable.
	(elmo-network-initialize-session-buffer): Defined.

	* mmelmo-imap4-2.el (mmelmo-imap4-parse-bodystructure-string):
	Abolished.
	(mmelmo-imap4-get-mime-entity): Rewrite.

	* elmo2.el (elmo-error): Capitalize error message.

	* elmo-net.el (elmo-network-initialize-session-buffer): New method.
	(elmo-network-session-buffer): New macro.
	(elmo-network-open-session): Use it.

	* elmo-imap4.el: Rewrite.

2000-08-27 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>

	* elmo-nntp.el (Toplevel): Require 'elmo-net.

2000-08-27   Daiki Ueno  <ueno@unixuser.org>

	* elmo-imap4.el (elmo-imap4-make-address): Abolish.
	(elmo-imap4-msgdb-create): Don't request ENVELOPE.
	(elmo-imap4-create-msgdb-from-overview-string): Use
	`elmo-msgdb-create-overview-from-buffer'.

2000-08-26   Daiki Ueno  <ueno@unixuser.org>

	* elmo-imap4.el (elmo-imap4-parse-namespace): Tolerate INBOX regexp.
	(elmo-imap4-default-hierarchy-delimiter): New variable.
	(elmo-imap4-list-folders): Use it.

2000-08-23  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-net.el (elmo-network-open-session): Add user and
	stream-type for process-buffer name.

	* elmo-pop3.el (elmo-network-initialize-session): Call
	buffer-disable-undo.

	* elmo-imap4.el (elmo-network-initialize-session):
	Set current-buffer as an argument for `buffer-disable-undo'.

	* elmo-pop3.el (elmo-network-close-session): Don't use
	`process-live-p'.

	* elmo-vars.el (elmo-default-pop3-authenticate-type):
	Set default as 'user.

	* mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rewrite.

	* elmo2.el (elmo-quit): Don't use `elmo-pop3-flush-connection'
	and `elmo-imap4-flush-connection'.

	* elmo-util.el (toplevel): Removed workaround for timezone y2k.
	(elmo-pop3-get-spec): Assume auth as symbol.
	(elmo-open-network-stream): Moved to `elmo-net'.

	* elmo-pop3.el (toplevel): Require 'elmo-net.
	Define `sasl-cram-md5' to silence byte compilier.
	(elmo-pop3-connection-cache) Abolished.
	(elmo-pop3-authenticator-alist) New variable.
	(elmo-pop3-session): Define.
	(elmo-pop3-connection-get-process): Abolished.
	(elmo-pop3-connection-get-buffer): Ditto.
	(elmo-pop3-close-connection): Ditto.
	(elmo-pop3-flush-connection): Ditto.
	(elmo-pop3-get-connection): Ditto.
	(elmo-pop3-get-session): New function.
	(Replacement for `elmo-pop3-get-connection').
	All other related modules are changed.
	(elmo-network-close-session): Define.
	(elmo-pop3-send-command): Abolished argument `buffer'.
	All other related modules are changed.
	(elmo-pop3-read-response): Likewise.
	(elmo-pop3-open-connection): Abolished.
	(elmo-pop3-auth-user): New function.
	(elmo-pop3-auth-apop): Ditto.
	(elmo-pop3-auth-cram-md5): Ditto.
	(elmo-pop3-auth-scram-md5): Ditto.
	(elmo-pop3-auth-digest-md5): Ditto.
	(elmo-network-initialize-session): Define.
	(elmo-network-authenticate-session): Ditto.
	(elmo-network-setup-session): Ditto.

	* elmo-imap4.el (toplevel): Require 'elmo-net.
	(elmo-imap4-session): Define.
	(elmo-imap4-connection-cache): Abolished.
	(elmo-imap4-password-key): Ditto.
	(elmo-imap4-flush-connection): Ditto.
	(elmo-imap4-get-connection): Ditto.
	All other related modules are changed.
	(elmo-imap4-get-session): New function
	(Replacement for `elmo-imap4-get-connection').
	(elmo-imap4-read-response): Abolished argument `buffer'.
	All other related modules are changed.
	(elmo-imap4-send-command): Likewise.
	(elmo-imap4-select-folder): Abolished.
	All other related modules are changed.
	(elmo-imap4-select-mailbox): New function.
	(Replacement for `elmo-imap4-select-folder').
	(elmo-imap4-auth-login): Simplify.
	(Assume current buffer as process buffer)
	(elmo-imap4-auth-cram-md5): Ditto.
	(elmo-imap4-auth-digest-md5): Ditto.
	(elmo-imap4-login): Ditto.
	(elmo-imap4-open-connection): Abolished.
	(elmo-imap4-open-connection-1): Abolished.
	(elmo-network-initialize-sessoin): Define.
	(elmo-network-authenticate-session): Ditto.
	(elmo-network-setup-session): Ditto.

	* elmo-net.el: New module.

2000-08-22   Daiki Ueno  <ueno@unixuser.org>

	* elmo-util.el (elmo-define-error): New function.

	* elmo2.el (elmo-error): Define.
	(elmo-open-error): Define.
	(elmo-authenticate-error): Define.

	* elmo-imap4.el (elmo-imap4-error): Abolish.
	(elmo-imap4-error-type): Abolish.
	(elmo-imap4-error-process): Abolish.
	(elmo-imap4-error-message): Abolish
	(elmo-imap4-list-folders): Don't quote lambda.
	(elmo-imap4-create-msgdb-from-overview-string): Ditto.
	(elmo-imap4-parse-namespace): Ditto.
	(elmo-imap4-open-connection): Rewrite.
	(elmo-imap4-open-connection-1): Simplified (authenticate only).
	(elmo-imap4-get-connection): Abolish local variable `result'.

2000-08-21  Kaoru Takahashi  <kaoru@kaisei.org>

	* elmo-imap4.el (elmo-imap4-open-connection-1): Fixed probrem
	wrong-type-argument error when auth is nil.

2000-08-21  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-vars.el (elmo-default-imap4-stream-type): New variable.
	(elmo-default-nntp-stream-type): Ditto.
	(elmo-default-pop3-stream-type): Ditto.
	(elmo-network-stream-type-alist): Ditto.
	(elmo-default-imap4-ssl): Abolished.
	(elmo-default-nntp-ssl): Ditto.
	(elmo-default-pop3-ssl): Ditto.

	* elmo-util.el: (toplevel): Removed needless requires.
	(elmo-network-get-spec): Use `elmo-network-stream-type-alist'.
	(elmo-open-network-stream): Open network stream according to
	the value of `elmo-network-stream-type-alist'.
	(elmo-get-network-stream-type): New function.
	(elmo-network-stream-type-spec-string): New macro.
	(elmo-network-stream-type-symbol): Ditto.
	(elmo-network-stream-type-function): Ditto.

	* elmo-pop3.el (elmo-pop3-get-connection): Follow up changes for
	network-stream-type. All other related portions are changed.
	(elmo-pop3-open-connection): Ditto.

	* elmo-nntp.el (elmo-nntp-setting): Follow up changes for
	network-stream-type. All other related portions are changed.

	* elmo-imap4.el (elmo-imap4-get-connection): Follow up changes for
	network-stream-type.All other related portions are changed.
	(elmo-imap4-error): New macro.
	(elmo-imap4-error-type): Ditto.
	(elmo-imap4-error-process): Ditto.
	(elmo-imap4-error-message): Ditto.
	(elmo-imap4-auth-login): Use `elmo-imap4-error'.
	(elmo-imap4-auth-cram-md5): Ditto.
	(elmo-imap4-auth-digest-md5): Ditto.
	(elmo-imap4-login): Ditto.
	(elmo-imap4-open-connection): Remove password entry if authentication
	was in vain.
	(elmo-imap4-user-at-host): Abolished.
	(elmo-imap4-password-key): New buffer local variable.
	(elmo-imap4-open-connection-1): Set value of `elmo-imap4-password-key'
	using protocol, port, auth and stream-type.

	* elmo-dop.el (elmo-dop-list-folder): Use killed list.

2000-08-13   Daiki Ueno  <ueno@unixuser.org>

	* elmo-vars.el (elmo-default-imap4-authenticate-type): Default to nil.

	* elmo-util.el (elmo-imap4-get-spec): Assume auth as symbol.

	* elmo-imap4.el (elmo-imap4-user-at-host): New variable.
	(elmo-imap4-authenticator-alist): New variable.
	(elmo-imap4-open-connection-1): Rename from
	elmo-imap4-open-connection.
	(elmo-imap4-open-connection): Abolish 5th argument `passphrase';
	only wraps elmo-imap4-open-connection-1.
	(elmo-imap4-get-connection): Abolish local variable buffer, proc-stat,
	user-at-host.
	(elmo-imap4-auth-login): New function.
	(elmo-imap4-auth-cram-md5): New function.
	(elmo-imap4-auth-digest-md5): New function.
	(elmo-imap4-login): New function.

2000-08-12  Kenichi OKADA  <okada@opaopa.org>

	* elmo-maildir.el (elmo-maildir-delete-folder): Set argument of the
	function `error'.

2000-08-12  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-pop3-get-connection): Add `signal'.

2000-08-08  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo2.el (elmo-move-msgs): Set value of `unseen'.

2000-08-06  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-parse-overview-string): In regexps
	for server responses, quote `*' regardless of where it appears.

2000-08-03  Kenichi OKADA  <okada@opaopa.org>

	* elmo-maildir.el (elmo-maildir-commit): New alias.

2000-08-03  Kenichi OKADA  <okada@opaopa.org>

	* elmo-util.el (elmo-display-progress):
		Use `progress-feedback-with-label'.

2000-08-02  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-quoted-specials-list): New constant.
	(elmo-imap4-non-atom-char-regex): Ditto.
	(elmo-imap4-non-text-char-regex): Ditto.
	(elmo-imap4-literal-threshold): Ditto.
	(elmo-imap4-atom-p): New function.
	(elmo-imap4-quotable-p): Ditto.
	(elmo-imap4-nil): Ditto.
	(elmo-imap4-atom): Ditto.
	(elmo-imap4-quoted): Ditto.
	(elmo-imap4-literal-subr): Ditto.
	(elmo-imap4-literal): Ditto.
	(elmo-imap4-buffer-literal): Ditto.
	(elmo-imap4-string-subr): Ditto.
	(elmo-imap4-string): Ditto.
	(elmo-imap4-buffer-string): Ditto.
	(elmo-imap4-astring-subr): Ditto.
	(elmo-imap4-astring): Ditto.
	(elmo-imap4-buffer-astring): Ditto.
	(elmo-imap4-nstring): Ditto.
	(elmo-imap4-buffer-nstring): Ditto.
	(elmo-imap4-mailbox): New alias.
	(elmo-imap4-field-body): Ditto.
	(elmo-imap4-userid): Ditto.
	(elmo-imap4-password): Ditto.
	(elmo-imap4-format-quoted): New function.
	(elmo-imap4-send-command): Rewritten.  Accept a list of command
	arguments and handle "atom", "quoted" and "literal" string here.
	(elmo-imap4-list-folders): Use `elmo-imap4-mailbox' for
	`elmo-imap4-send-command'.
	(elmo-imap4-folder-exists-p): Likewise.
	(elmo-imap4-create-folder): Likewise.
	(elmo-imap4-delete-folder): Likewise.
	(elmo-imap4-rename-folder): Likewise.
	(elmo-imap4-max-of-folder): Likewise.
	(elmo-imap4-check-validity): Likewise.
	(elmo-imap4-sync-validity): Likewise.
	(elmo-imap4-server-diff): Likewise.
	(elmo-imap4-select-folder): Likewise.
	(elmo-imap4-copy-msgs): Likewise.
	(elmo-imap4-search-internal): Use `elmo-imap4-astring'.
	(elmo-imap4-mark-set-on-msgs): Likewise.
	(elmo-imap4-read-part): Likewise.
	(elmo-imap4-read-msg): Likewise.
	(elmo-imap4-open-connection): Use `elmo-imap4-userid' and
	`elmo-imap4-password' for `elmo-imap4-send-command'.
	(elmo-imap4-delete-msg-by-id): Use `elmo-imap4-field-body'.
	(elmo-imap4-append-msg-by-id): Use `elmo-imap4-mailbox' and
	`elmo-imap4-buffer-literal'.
	(elmo-imap4-append-msg): Likewise.

	* elmo-imap4.el (elmo-imap4-get-connection): Use `delq' instead of
	`delete' for removing dead connection from the connection cache.
	Move deletion of the process buffer after that.
	(elmo-imap4-list): Change `defsubst' to `defun'.
	(elmo-imap4-commit): Make error message verbose.
	(elmo-imap4-search): Ditto.
	(elmo-imap4-list): Ditto.
	(elmo-imap4-select-folder): Ditto.
	(elmo-imap4-copy-msgs): Ditto.
	(elmo-imap4-delete-msg-by-id): Ditto.
	(elmo-imap4-append-msg-by-id): Ditto.
	(elmo-imap4-append-msg): Ditto.

2000-07-26  Takaaki MORIYAMA <taka@airlab.cs.ritsumei.ac.jp>

	* elmo-archive.el (elmo-archive-get-archive-name): Fixed problem
	when dired is used on XEmacs.

2000-07-25  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-process-folder-list): Use `nconc'
	instead of `append'.
	(elmo-imap4-commit): Use `elmo-imap4-plugged-p' instead of
	`elmo-plugged-p' directly.
	* elmo-pop3.el (elmo-pop3-commit): Use `elmo-pop3-plugged-p' instead
	of `elmo-plugged-p' directly.

	* elmo-pop3.el (elmo-pop3-get-connection): Split temporary variable.
	Eliminate unused variable.  Use `memq' for checking a process status.
	Use `cons' instead of `append' for updating the connection cache.
	* elmo-nntp.el (elmo-nntp-get-connection): Likewise.
	* elmo-imap4.el (elmo-imap4-get-connection): Likewise.

2000-07-22  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-imap4.el (elmo-imap4-read-bytes): Advance
	`elmo-imap4-read-point' exactly.

	* mmelmo-imap4-2.el (mmelmo-imap4-get-mime-entity): Rename
	the local variable `folder' to `mailbox'.
	Rename the argument `fld' to `folder'.

2000-07-20  Kenichi OKADA  <okada@opaopa.org>

	* elmo-pop3.el (elmo-pop3-commit): Do nothing when unplugged.
	* elmo-imap4.el (elmo-imap4-commit): Ditto.

2000-07-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-use-uidl): New variable.
	(elmo-pop3-number-uidl-hash): New buffer-local variable.
	(elmo-pop3-uidl-number-hash): Ditto.
	(elmo-pop3-size-hash): Ditto.
	(elmo-pop3-uidl-done): Ditto.
	(elmo-pop3-list-done): Ditto.
	(elmo-pop3-connection-get-process): New defmacro.
	(elmo-pop3-connection-get-buffer): Ditto.
	(elmo-pop3-close-connection): Delete buffer and process.
	(elmo-pop3-flush-connection): Don't delete buffer and process.
	(elmo-pop3-get-connection): Added optional argument `if-exists'.
	Setup UIDL and size hash.
	(elmo-pop3-send-command-no-erase): Deleted
	(elmo-pop3-send-command): Added optional argument `no-erase'.
	(elmo-pop3-parse-uidl-response): New function.
	(elmo-pop3-parse-list-response): Set size hash.
	(elmo-pop3-list-location): New function.
	(elmo-pop3-list-by-uidl-subr): Ditto.
	(elmo-pop3-list-by-list): Ditto.
	(elmo-pop3-list-folder): Call `elmo-pop3-commit'.
	Call `elmo-pop3-list-by-uidl-subr' or `elmo-pop3-list-by-list'.
	(elmo-pop3-max-of-folder): Call `elmo-pop3-commit'.
	Call `elmo-pop3-list-by-uidl-subr' if `elmo-pop3-use-uidl' is non-nil.
	(elmo-pop3-msgdb-create-as-numlist): Added optional argument `msgdb'.
	Use uidl.
	(elmo-pop3-uidl-to-number): New function.
	(elmo-pop3-number-to-uidl): Ditto.
	(elmo-pop3-number-to-size): Ditto.
	(elmo-pop3-msgdb-create-by-header): Added argument `loc-alist'.
	Set number by use of uidl.
	(elmo-pop3-msgdb-create-message): Likewise.
	Set size, loc-alist in msgdb.
	(elmo-pop3-read-msg): Set number by use of uidl.
	Added optional argument `msgdb'.
	(elmo-pop3-delete-msg): Ditto.
	(elmo-pop3-delete-msgs): Added optional argument `msgdb'.
	(elmo-pop3-commit): Close connection.

	* elmo-pipe.el (elmo-pipe-max-of-folder):
	Bind `elmo-pop3-use-uidl' as nil.
	(elmo-pipe-drain): Ditto.
	Call `elmo-commit'.

	* elmo-msgdb.el (elmo-msgdb-delete-msgs): Delete location too.
	(elmo-msgdb-overview-entity-set-size): New defsubst.

2000-07-17  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-vars.el (elmo-use-killed-list): New variable
	(Renamed from `elmo-nntp-use-killed-list').
	(elmo-nntp-use-killed-list): Eliminated.

	* elmo-msgdb.el (elmo-msgdb-expand-path):
	Changed expanding msgdb path for elmo-multi.

	* elmo-archive.el, elmo-cache.el, elmo-database.el, elmo-date.el,
	elmo-dop.el, elmo-filter.el, elmo-imap4.el, elmo-internal.el,
	elmo-localdir.el, elmo-localnews.el, elmo-maildir.el, elmo-msgdb.el,
	elmo-multi.el, elmo-nntp.el, elmo-pipe.el, elmo-pop3.el,
	elmo-util.el, elmo-vars.el, elmo2.el, mmelmo-1.el, mmelmo-2.el,
	mmelmo-imap4-1.el, mmelmo-imap4-2.el, mmelmo-imap4.el, mmelmo.el
	(toplevel): Deleted time-stamp line.

	* elmo2.el (elmo-clear-killed ): Defined as function
	(Abolished defining as a backend function).
	All other related modules are changed.

2000-07-14  Hiroshi Tsutsui <tsutsui@easter.kuee.kyoto-u.ac.jp>

	* elmo-cache.el (elmo-cache-clear-killed): Fixed.

2000-07-13  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-append-to-killed-list): New function.

2000-07-12  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>

	* elmo-pop3.el (elmo-pop3-clear-killed): New alias.

2000-07-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-nntp-max-of-folder): Use killed list in
	asynchronous folder check.

	* elmo2.el (elmo-move-msgs): Don't move message when buffer-size is 0.

	* elmo-nntp.el (elmo-nntp-delete-msgs): Check the value of
	`elmo-nntp-use-killed-list'.
	(elmo-nntp-list-folder): Use killed list.
	(elmo-nntp-max-of-folder): Ditto.
	(elmo-nntp-msgdb-create): Set killed list.

	* elmo-vars.el (elmo-nntp-use-killed-list): New user option.

	* elmo2.el (elmo-clear-killed): New backend function.
	All other related modules are changed.

2000-07-07  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-util.el (elmo-imap4-spec-folder): Use
	`elmo-imap4-spec-mailbox'; Mark as obsolete.
	All callers changed.

2000-06-22  Yuuichi Teranishi  <teranisi@gohome.org>

	* mmelmo-2.el (initialize-instance):
	Use `mime-buffer-entity-buffer-internal' instead of
	`mime-entity-buffer'.

	* mmelmo-imap4-2.el (mmelmo-imap4-mime-entity-buffer): New function.
	(mime-entity-body): Implemented.
	(mime-goto-header-start-point): Deleted.
	(mime-goto-body-end-point): Ditto.
	(mime-entity-point-min): Ditto.
	(mime-entity-point-max): Ditto.
	(mime-entity-children): Ditto.
	(mime-insert-header): Use `mime-buffer-entity-buffer-internal'
	instead of `mime-entity-buffer'.
	(mime-entity-header-buffer): Ditto.
	(mime-entity-body-buffer): Ditto.
	(mime-write-entity-content): Ditto.

	* pldap.el (ldap-static-if): New macro.
	(toplevel): Use it instead of `static-if'.

2000-06-19  Yuuichi Teranishi  <teranisi@gohome.org>

	* pldap.el (ldap-search-basic): Don't collect 'dn' value even if it is
	included in `attrs' argument.

2000-06-16  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-util.el (elmo-get-passwd): Use old backquote style.

	* pldap.el (ldap-ldif-safe-char-regexp): New constant.
	(ldap-ldif-safe-init-char-regexp): Ditto.
	(ldap-ldif-safe-string-regexp): Ditto.
	(ldap/ldif-safe-string-p): New macro.
	(ldap/ldif-insert-field): Ditto.
	(ldap-modify): Use it.
	(ldap-add): Ditto.
	(ldap-search-basic): Consider `attrsonly' also when `attrs' is nil.
	(ldap-decode-attribute): Decode only when `attr' is consp.
	(ldap-delete): Bind `ret'.
	(toplevel): Require 'cl at compile time.
	Removed (require 'poe) and (require 'std11).
	(pldap-version): Eliminated.
	(ldap-search-basic): Removed auth and dn binding.
	(ldap-ldif-field-name-regexp): New constant.
	(ldap-ldif-field-head-regexp): Ditto.
	(ldap-ldif-next-field-head-regexp): Ditto.
	(ldap/collect-field): Use `ldap-ldif-field-head-regexp'.
	(ldap/field-end): New function.
	(ldap/field-body): Use it.
	(ldap/collect-field): Ditto.
	(ldap-search-basic): Use `ldap/field-body'.

2000-06-15  Yuuichi Teranishi  <teranisi@gohome.org>

	* pldap.el (ldap-default-attribute-encoder): New user option.
	(ldap/field-body): Decode base64 string.
	(ldap/collect-field): Ditto.
	(ldap-encode-attribute): New function.
	(ldap-add-entries): Use it.
	(ldap-modify-entries): Ditto.
	(ldap-search-entries): Enclosed decoding function with
	`with-temp-buffer' and set as unibyte.
	(ldap-search-basic): Set process buffer as unibyte.

	* elmo-util.el (elmo-folder-identical-system-p):
	Eliminated name space checking.

	* pldap.el: New module.
	toplevel: Changed condition to detect built-in ldap feature.
	(ldap-delete): Enclosed call-process with `with-temp-buffer'.
	(ldap-add): Added error handling.
	(ldap-modify): Ditto.
	(ldap-delete): Ditto.

2000-06-03  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-localdir.el (elmo-localdir-msgdb-create-as-numlist):
	Initialize local variables with `let'.  Inline a temporary
	variable for the progress percentage.  Sort `setq' to reduce
	function call in the while-loop.

	* mmelmo.el (mmelmo-get-original-buffer): Move `save-excursion'
	into the conditional branch.

2000-05-30  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo2.el (elmo-move-msgs): Replace `append' with `nconc'.
	Move a conditional out of the while-loop.

2000-05-27  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-overview-get-entity): Use
	elmo-msgdb-overview-get-entity-by-number.
	(elmo-msgdb-overview-get-entity-by-number): Don't use catch and
	throw.

2000-05-26  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-localdir.el (elmo-localdir-pack-number): Renamed
	the local variable for a packed number self descriptively.

2000-05-21  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo2.el (elmo-msgdb-load): Remove elmo-msgdb-overview-hashtb.
	* elmo-localdir.el (elmo-localdir-pack-number): Use
	`elmo-msgdb-overview-get-entity' instead of
	`elmo-msgdb-overview-get-entity-by-number'.
	* elmo-msgdb.el (elmo-msgdb-overview-hashtb): Removed.
	(elmo-msgdb-search-overview-entity): Removed.
	(elmo-msgdb-overview-get-entity): Change argument. Get overview entity
	by message-id or number.
	(elmo-msgdb-delete-msgs): Use `elmo-msgdb-overview-get-entity'
	instead of `elmo-msgdb-overview-get-entity-by-number'.

2000-05-20  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-vars.el (elmo-use-overview-hashtb): New variable. If
	non-nil, use hash table for overview.
	(elmo-hash-maximum-size): New variable.
	* elmo-msgdb.el (elmo-msgdb-overview-hashtb): New variable.
	(elmo-msgdb-make-overview-hashtb): New function.
	(elmo-msgdb-clear-overview-hashtb): New function.
	(elmo-clear-hash-val): New macro.
	All other related modules are changed.

2000-05-18  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo2.el (elmo-move-msgs): If there's other message with
	same message-id, don't use cache.

2000-05-18  Nishimoto Masaki <nishimoto@gaju.org>

	* elmo-localdir.el (elmo-localdir-pack-number): Fixed problem when
	number is already packed.

2000-05-15  OKAZAKI Tetsurou  <okazaki@be.to>

	* elmo-vars.el: Doc fixes. Trim trailing whitespace.

2000-05-12  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-vars.el (elmo-display-progress-threshold): New variable.
	All other related modules are changed.

2000-05-11  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-msgdb.el (elmo-msgdb-sort-by-date): Fixed a problem
	of refiling failure on Maildir.

2000-05-10  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-msgdb.el (elmo-msgdb-get-decoded-cache): get string of
	decoded mime-charset with cache.
	(elmo-msgdb-overview-entity-get-from): Ditto.
	(elmo-msgdb-overview-entity-get-subject): Ditto.
	* elmo-vars.el (elmo-use-decoded-cache): New variable.

2000-05-10  Kenichi OKADA  <okada@opaopa.org>

	* elmo-utils.el (elmo-get-passwd): Set timeout of password.
	(elmo-remove-passwd): Fill password with 0 before erase.
	* elmo-vars.el (elmo-passwd-life-time): New variable.


2000-05-10  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-cache.el (elmo-buffer-cache-add):
	Set message cache buffer as unibyte.

2000-05-07  Masahiro MURATA  <muse@ba2.so-net.ne.jp>

	* elmo-archive.el (elmo-archive-list-folders): Fix base-folder
	become nil.

2000-04-28  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-nntp.el (elmo-nntp-list-folders): Remove progress gauge
	when display is finished.
	(elmo-nntp-msgdb-create): Ditto.
	(elmo-nntp-groups-read-response): Ditto.
	(elmo-nntp-retrieve-headers): Ditto.
	(elmo-nntp-msgdb-create-message): Ditto.
	* elmo-pop3.el (elmo-pop3-retrieve-headers): Ditto.
	(elmo-pop3-msgdb-create-message): Ditto.

2000-04-24  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>

	* elmo-maildir.el (elmo-maildir-msgdb-create):
	Use `elmo-msgdb-sort-by-date'.

2000-04-20  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo2.el (elmo-read-msg-no-cache):
	Eliminated arguments after `outbuf'.
	Don't use cache even if it exists.
	(elmo-read-msg): Don't pass arguments after `outbuf' to
	`elmo-read-msg-no-cache'.

2000-04-15  Yuuichi Teranishi  <teranisi@elmo.dq.isl.ntt.co.jp>

	* elmo-archive.el (elmo-archive-list-folders):
	Use `file-name-directory' if base folder does not exist.

2000-04-14  Nishimoto Masaki <nishimoto@gaju.org>

	* elmo-archive.el (elmo-archive-list-folders): Don't use
	`file-name-directory'.

2000-04-07  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-dop.el (elmo-dop-queue-flush): Add optional argument `force'.
	If `force' is non-nil, try flushing all operation queues.

2000-04-03  Yuuichi Teranishi  <teranisi@gohome.org>

	* elmo-pop3.el (elmo-pop3-open-connection): Enclose with
	as-binary-process.

2000-03-29  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>

	* elmo-util.el (elmo-display-progress): Fixed.

2000-03-27  Daiki Ueno <ueno@kiss.kake.info.waseda.ac.jp>

	* elmo-util.el (elmo-display-progress): New function.
	All other related modules are changed.
