* test-elmo-util.el (test-elmo-number-set-delete-1): New testcase.
(test-elmo-number-set-delete-2): Ditto.
(test-elmo-number-set-delete-3): Ditto.
(test-elmo-number-set-delete-4): Ditto.
(test-elmo-number-set-delete-5): Ditto.
(test-elmo-number-set-delete-6): Ditto.
(test-elmo-number-set-delete-7): Ditto.
(test-elmo-number-set-delete-8): Ditto.
(test-elmo-number-set-delete-list-1): Ditto.
* 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.
15 files changed: