* wl-vars.el (wl-folder-sync-range-alist): Set default range for
[elisp/wanderlust.git] / elmo / elmo-pipe.el
index 6a4a2db..4e84663 100644 (file)
 
 (defun elmo-pipe-drain (src dst &optional copy ignore-list)
   "Move or copy all messages of SRC to DST."
-  (let ((elmo-inhibit-number-mapping (not copy)) ; No need to use UIDL
+  (let ((elmo-inhibit-number-mapping (and (eq (elmo-folder-type-internal
+                                              src) 'pop3)
+                                         (not copy))) ; No need to use UIDL
        msgs len)
     (message "Checking %s..." (elmo-folder-name-internal src))
     ;; Warnnig: some function requires msgdb
                             "Copying messages..."
                           "Moving messages...")))
     (unwind-protect
-       (elmo-folder-move-messages src msgs dst
-                                  nil nil copy)
+       (elmo-folder-move-messages src msgs dst copy)
       (elmo-progress-clear 'elmo-folder-move-messages))
     (when (and copy msgs)
       (setq ignore-list (elmo-number-set-append-list ignore-list
 (luna-define-method elmo-folder-close-internal ((folder elmo-pipe-folder))
   (elmo-folder-close-internal(elmo-pipe-folder-dst-internal folder)))
 
+(luna-define-method elmo-folder-set-message-modified
+  ((folder elmo-pipe-folder) modified)
+  (elmo-folder-set-message-modified-internal
+   (elmo-pipe-folder-dst-internal folder) modified))
+
 (luna-define-method elmo-folder-list-messages ((folder elmo-pipe-folder)
                                               &optional visible-only in-msgdb)
   ;; Use target folder's killed-list in the pipe folder.
   (elmo-folder-message-make-temp-files
    (elmo-pipe-folder-dst-internal folder) numbers start-number))
 
-(luna-define-method elmo-folder-mark-as-read ((folder elmo-pipe-folder)
-                                             numbers &optional ignore-flag)
-  (elmo-folder-mark-as-read (elmo-pipe-folder-dst-internal folder)
-                           numbers ignore-flag))
+(luna-define-method elmo-folder-flag-as-read ((folder elmo-pipe-folder)
+                                             numbers &optional is-local)
+  (elmo-folder-flag-as-read (elmo-pipe-folder-dst-internal folder)
+                           numbers is-local))
 
-(luna-define-method elmo-folder-unmark-read ((folder elmo-pipe-folder)
+(luna-define-method elmo-folder-unflag-read ((folder elmo-pipe-folder)
                                             numbers
-                                            &optional ignore-flag)
-  (elmo-folder-unmark-read (elmo-pipe-folder-dst-internal folder)
-                          numbers ignore-flag))
+                                            &optional is-local)
+  (elmo-folder-unflag-read (elmo-pipe-folder-dst-internal folder)
+                          numbers is-local))
 
-(luna-define-method elmo-folder-unmark-important ((folder elmo-pipe-folder)
+(luna-define-method elmo-folder-unflag-important ((folder elmo-pipe-folder)
                                                  numbers
-                                                 &optional ignore-flag)
-  (elmo-folder-unmark-important (elmo-pipe-folder-dst-internal folder)
-                               numbers ignore-flag))
+                                                 &optional is-local)
+  (elmo-folder-unflag-important (elmo-pipe-folder-dst-internal folder)
+                               numbers is-local))
 
-(luna-define-method elmo-folder-mark-as-important ((folder elmo-pipe-folder)
+(luna-define-method elmo-folder-flag-as-important ((folder elmo-pipe-folder)
                                                   numbers
-                                                  &optional ignore-flag)
-  (elmo-folder-mark-as-important (elmo-pipe-folder-dst-internal folder)
-                                numbers ignore-flag))
+                                                  &optional is-local)
+  (elmo-folder-flag-as-important (elmo-pipe-folder-dst-internal folder)
+                                numbers is-local))
 
-(luna-define-method elmo-folder-unmark-answered ((folder elmo-pipe-folder)
-                                                numbers)
-  (elmo-folder-unmark-answered (elmo-pipe-folder-dst-internal folder)
-                              numbers))
+(luna-define-method elmo-folder-unflag-answered ((folder elmo-pipe-folder)
+                                                numbers
+                                                &optional is-local)
+  (elmo-folder-unflag-answered (elmo-pipe-folder-dst-internal folder)
+                              numbers is-local))
 
-(luna-define-method elmo-folder-mark-as-answered ((folder elmo-pipe-folder)
-                                                 numbers)
-  (elmo-folder-mark-as-answered (elmo-pipe-folder-dst-internal folder)
-                               numbers))
+(luna-define-method elmo-folder-flag-as-answered ((folder elmo-pipe-folder)
+                                                 numbers
+                                                 &optional is-local)
+  (elmo-folder-flag-as-answered (elmo-pipe-folder-dst-internal folder)
+                               numbers is-local))
 
 (luna-define-method elmo-folder-pack-numbers ((folder elmo-pipe-folder))
   (elmo-folder-pack-numbers (elmo-pipe-folder-dst-internal folder)))
                      (elmo-pipe-folder-dst-internal new-folder))
     (elmo-msgdb-rename-path folder new-folder)))
 
-(luna-define-method elmo-folder-commit ((folder elmo-pipe-folder))
-  (elmo-folder-commit
-   (elmo-pipe-folder-dst-internal folder)))
-
 (luna-define-method elmo-folder-synchronize ((folder elmo-pipe-folder)
                                             &optional
                                             disable-killed
 (luna-define-method elmo-folder-count-flags ((folder elmo-pipe-folder))
   (elmo-folder-count-flags (elmo-pipe-folder-dst-internal folder)))
 
-(luna-define-method elmo-message-mark ((folder elmo-pipe-folder) number)
-  (elmo-message-mark (elmo-pipe-folder-dst-internal folder) number))
+(luna-define-method elmo-message-flags ((folder elmo-pipe-folder) number)
+  (elmo-message-flags (elmo-pipe-folder-dst-internal folder) number))
 
 (luna-define-method elmo-message-field ((folder elmo-pipe-folder)
                                        number field)