* elmo-map.el (elmo-folder-list-unreads): Add :around qualifier.
[elisp/wanderlust.git] / elmo / ChangeLog
index b9a3eb0..2ead7d5 100644 (file)
@@ -1,3 +1,445 @@
+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