* elmo-msgdb.el (elmo-msgdb-get-message-id-from-buffer): Added
[elisp/wanderlust.git] / elmo / ChangeLog
index 0686c48..9e2d267 100644 (file)
@@ -1,5 +1,486 @@
+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