* elmo.el (elmo-folder-detach-messages): Don't load msgdb if empty.
authorteranisi <teranisi>
Wed, 13 Aug 2003 14:51:40 +0000 (14:51 +0000)
committerteranisi <teranisi>
Wed, 13 Aug 2003 14:51:40 +0000 (14:51 +0000)
* elmo-pipe.el (elmo-pipe-drain): Bind elmo-inhibit-number-mapping
only when src folder type is pop3.

elmo/ChangeLog
elmo/elmo-pipe.el
elmo/elmo-pop3.el
elmo/elmo.el

index 4845bd0..c4da92b 100644 (file)
@@ -1,3 +1,10 @@
+2003-08-13  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-folder-detach-messages): Don't load msgdb if empty.
+
+       * elmo-pipe.el (elmo-pipe-drain): Bind elmo-inhibit-number-mapping
+       only when src folder type is pop3.
+
 2003-08-12  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo-msgdb.el (elmo-msgdb-make-index): Use
index b387a9f..2840857 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
index 201c670..8345095 100644 (file)
@@ -914,13 +914,13 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
              (error "Deleting message failed")))
        (error "Deleting message failed")))))
 
-(luna-define-method elmo-folder-delete-messages-plugged
-  ((folder elmo-pop3-folder) msgs)
+(luna-define-method elmo-folder-delete-messages-plugged ((folder
+                                                         elmo-pop3-folder)
+                                                        msgs)
   (let ((loc-alist (elmo-pop3-folder-location-alist-internal folder))
        (process (elmo-network-session-process-internal
                  (elmo-pop3-get-session folder))))
-    (mapcar '(lambda (msg) (elmo-pop3-delete-msg
-                           process msg loc-alist))
+    (mapcar '(lambda (msg) (elmo-pop3-delete-msg process msg loc-alist))
            msgs)))
 
 (luna-define-method elmo-message-use-cache-p ((folder elmo-pop3-folder) number)
index cb66c79..7a2105d 100644 (file)
@@ -1543,7 +1543,8 @@ If update process is interrupted, return nil.")
 
 (luna-define-method elmo-folder-detach-messages ((folder elmo-folder)
                                                 numbers)
-  (elmo-msgdb-delete-msgs (elmo-folder-msgdb folder) numbers))
+  (if (elmo-folder-msgdb-internal folder)
+      (elmo-msgdb-delete-msgs (elmo-folder-msgdb folder) numbers)))
 
 (luna-define-generic elmo-folder-length (folder)
   "Return number of messages in the FOLDER.")
@@ -1656,7 +1657,6 @@ Return a hashtable for newsgroups."
   (error "Cannot rename %s folder"
         (symbol-name (elmo-folder-type-internal folder))))
 
-
 ;;; Define folders.
 (elmo-define-folder ?% 'imap4)
 (elmo-define-folder ?-  'nntp)