Added description about wl-folder-use-frame and wl-summary-use-frame.
[elisp/wanderlust.git] / elmo / elmo-pipe.el
index fd0fb7e..6ed21e9 100644 (file)
 
 (require 'elmo-msgdb)
 
-(defsubst elmo-pipe-spec-src (spec)
-  (nth 1 spec))
-
-(defsubst elmo-pipe-spec-dst (spec)
-  (nth 2 spec))
-
 (defalias 'elmo-pipe-msgdb-create 'elmo-pipe-msgdb-create-as-numlist)
 
 (defun elmo-pipe-msgdb-create-as-numlist (spec numlist new-mark already-mark
 (defun elmo-pipe-append-msg (spec string &optional msg no-see)
   (elmo-append-msg (elmo-pipe-spec-dst spec) string))
 
-(defun elmo-pipe-read-msg (spec number outbuf)
+(defun elmo-pipe-read-msg (spec number outbuf &optional msgdb unread)
   (elmo-call-func (elmo-pipe-spec-dst spec)
                  "read-msg"
-                 number outbuf))
+                 number outbuf msgdb unread))
 
 (defun elmo-pipe-delete-msgs (spec msgs)
   (elmo-delete-msgs (elmo-pipe-spec-dst spec) msgs))
 (defvar elmo-pipe-drained-hook nil "A hook called when the pipe is flushed.")
 
 (defun elmo-pipe-drain (src dst)
-  (let ((msgdb (elmo-msgdb-load src))
-       elmo-nntp-use-cache
-       elmo-imap4-use-cache
-       elmo-pop3-use-cache ; Inhibit caching while moving messages.
+  "Move all messages of SRC to DST."
+  (let ((elmo-inhibit-read-cache t); Inhibit caching while moving messages.
        elmo-pop3-use-uidl) ; No need to use UIDL
     (message "Checking %s..." src)
-    (elmo-move-msgs src (elmo-list-folder src) dst msgdb)
-    ;; Don't save msgdb here.
-    ;; Because summary view of original folder is not updated yet.
-    ;; (elmo-msgdb-save src msgdb)
-    (elmo-commit src)
+    (let ((srclist (elmo-list-folder src))
+         (msgdb (elmo-msgdb-load src)))
+      (elmo-move-msgs src srclist dst msgdb)
+      ;; Don't save msgdb here.
+      ;; Because summary view of original folder is not updated yet.
+      ;; (elmo-msgdb-save src msgdb)
+      (elmo-commit src))
     (run-hooks 'elmo-pipe-drained-hook)))
 
-(defun elmo-pipe-list-folder (spec)
+(defun elmo-pipe-list-folder (spec &optional nohide)
   (elmo-pipe-drain (elmo-pipe-spec-src spec)
                   (elmo-pipe-spec-dst spec))
   (let ((killed (and elmo-use-killed-list