(elmo-make-folder
(elmo-match-string 3 name)))
(elmo-pipe-folder-set-copy-internal folder
- (string= ":" (elmo-match-string 2 name))))
+ (string= ":"
+ (elmo-match-string 2 name))))
folder)
(luna-define-method elmo-folder-get-primitive-list ((folder elmo-pipe-folder))
(elmo-folder-contains-type (elmo-pipe-folder-dst-internal folder) type)))
(luna-define-method elmo-folder-msgdb-create ((folder elmo-pipe-folder)
- numlist new-mark already-mark
- seen-mark important-mark
- seen-list)
+ numlist flag-table)
(elmo-folder-msgdb-create (elmo-pipe-folder-dst-internal folder)
- numlist new-mark already-mark
- seen-mark important-mark seen-list))
+ numlist flag-table))
(luna-define-method elmo-folder-append-messages ((folder elmo-pipe-folder)
src-folder numbers
- unread-marks
&optional same-number)
(elmo-folder-append-messages (elmo-pipe-folder-dst-internal folder)
src-folder numbers
- unread-marks
same-number))
(luna-define-method elmo-folder-append-buffer ((folder elmo-pipe-folder)
- unread &optional number)
+ &optional flag number)
(elmo-folder-append-buffer (elmo-pipe-folder-dst-internal folder)
- unread number))
+ flag number))
(luna-define-method elmo-message-fetch ((folder elmo-pipe-folder)
number strategy
(elmo-message-fetch (elmo-pipe-folder-dst-internal folder)
number strategy section outbuf unseen))
+(luna-define-method elmo-folder-clear :after ((folder elmo-pipe-folder)
+ &optional keep-killed)
+ (unless keep-killed
+ (elmo-pipe-folder-copied-list-save folder nil)))
+
(luna-define-method elmo-folder-delete-messages ((folder elmo-pipe-folder)
numbers)
(elmo-folder-delete-messages (elmo-pipe-folder-dst-internal folder)
(elmo-folder-list-messages-internal (elmo-pipe-folder-dst-internal
folder) nohide))
-(luna-define-method elmo-folder-list-unreads-internal
- ((folder elmo-pipe-folder) unread-marks &optional mark-alist)
- (elmo-folder-list-unreads-internal (elmo-pipe-folder-dst-internal folder)
- unread-marks mark-alist))
+(luna-define-method elmo-folder-list-unreads ((folder elmo-pipe-folder))
+ (elmo-folder-list-unreads (elmo-pipe-folder-dst-internal folder)))
+
+(luna-define-method elmo-folder-list-importants ((folder elmo-pipe-folder))
+ (elmo-folder-list-importants (elmo-pipe-folder-dst-internal folder)))
-(luna-define-method elmo-folder-list-importants-internal
- ((folder elmo-pipe-folder) important-mark)
- (elmo-folder-list-importants-internal (elmo-pipe-folder-dst-internal folder)
- important-mark))
+(luna-define-method elmo-folder-list-answereds ((folder elmo-pipe-folder))
+ (elmo-folder-list-answereds (elmo-pipe-folder-dst-internal folder)))
(luna-define-method elmo-folder-status ((folder elmo-pipe-folder))
(elmo-folder-open-internal (elmo-pipe-folder-src-internal folder))
(elmo-pipe-folder-dst-internal folder) numbers start-number))
(luna-define-method elmo-folder-mark-as-read ((folder elmo-pipe-folder)
- numbers)
+ numbers &optional ignore-flag)
(elmo-folder-mark-as-read (elmo-pipe-folder-dst-internal folder)
- numbers))
+ numbers ignore-flag))
(luna-define-method elmo-folder-unmark-read ((folder elmo-pipe-folder)
- numbers)
+ numbers
+ &optional ignore-flag)
(elmo-folder-unmark-read (elmo-pipe-folder-dst-internal folder)
- numbers))
+ numbers ignore-flag))
(luna-define-method elmo-folder-unmark-important ((folder elmo-pipe-folder)
- numbers)
+ numbers
+ &optional ignore-flag)
(elmo-folder-unmark-important (elmo-pipe-folder-dst-internal folder)
- numbers))
+ numbers ignore-flag))
(luna-define-method elmo-folder-mark-as-important ((folder elmo-pipe-folder)
- numbers)
+ numbers
+ &optional ignore-flag)
(elmo-folder-mark-as-important (elmo-pipe-folder-dst-internal folder)
- numbers))
+ numbers ignore-flag))
(luna-define-method elmo-folder-pack-numbers ((folder elmo-pipe-folder))
(elmo-folder-pack-numbers (elmo-pipe-folder-dst-internal folder)))
+(luna-define-method elmo-folder-rename ((folder elmo-pipe-folder) new-name)
+ (let* ((new-folder (elmo-make-folder new-name)))
+ (unless (string= (elmo-folder-name-internal
+ (elmo-pipe-folder-src-internal folder))
+ (elmo-folder-name-internal
+ (elmo-pipe-folder-src-internal new-folder)))
+ (error "Source folder differ"))
+ (unless (eq (elmo-folder-type-internal
+ (elmo-pipe-folder-dst-internal folder))
+ (elmo-folder-type-internal
+ (elmo-pipe-folder-dst-internal new-folder)))
+ (error "Not same folder type"))
+ (if (or (file-exists-p (elmo-folder-msgdb-path
+ (elmo-pipe-folder-dst-internal new-folder)))
+ (elmo-folder-exists-p
+ (elmo-pipe-folder-dst-internal new-folder)))
+ (error "Already exists folder: %s" new-name))
+ (elmo-folder-send (elmo-pipe-folder-dst-internal folder)
+ 'elmo-folder-rename-internal
+ (elmo-pipe-folder-dst-internal new-folder))
+ (elmo-msgdb-rename-path folder new-folder)))
+
(require 'product)
(product-provide (provide 'elmo-pipe) (require 'elmo-version))