elmo-folder-append-buffer.
* elmo-localdir.el (elmo-folder-append-buffer): Ditto.
* elmo-imap4.el (elmo-folder-append-buffer): Ditto.
* elmo-archive.el (elmo-archive-folder-append-buffer): Return t
if append buffer content succeds.
+2001-10-03  Yuuichi Teranishi  <teranisi@gohome.org>
+
+       * elmo.el (elmo-generic-folder-append-messages): Check return value of
+       elmo-folder-append-buffer.
+
+       * elmo-localdir.el (elmo-folder-append-buffer): Ditto.
+
+       * elmo-imap4.el (elmo-folder-append-buffer): Ditto.
+
+       * elmo-archive.el (elmo-archive-folder-append-buffer): Return t
+       if append buffer content succeds.
+
 2001-10-02  Yuuichi Teranishi  <teranisi@gohome.org>
 
        * elmo-pop3.el (elmo-message-fetch-plugged): Fixed label for
 
                   (copy-to-buffer dst-buffer (point-min) (point-max)))
                 (as-binary-output-file
                  (write-region (point-min) (point-max) newfile nil 'no-msg))
-                (elmo-archive-call-method method (list arc newfile)))
+                (elmo-archive-call-method method (list arc newfile))
+                t)
             nil))))))
 
 (luna-define-method elmo-folder-append-messages :around
 
                    (if unread " " " (\\Seen) ")
                    (elmo-imap4-buffer-literal send-buffer))))
          (kill-buffer send-buffer))
-       result)
+       (and result
+            (elmo-imap4-response-ok-p result)))
     ;; Unplugged
     (if elmo-enable-disconnected-operation
        (elmo-folder-append-buffer-dop folder unread number)
 
                   folder
                   (or number
                       (1+ (car (elmo-folder-status folder)))))))
-    (if (file-writable-p filename)
-       (write-region-as-binary
-        (point-min) (point-max) filename nil 'no-msg))
-    t))
+    (when (file-writable-p filename)
+      (write-region-as-binary
+       (point-min) (point-max) filename nil 'no-msg)
+      t)))
 
-(luna-define-method elmo-folder-append-messages :around ((folder elmo-localdir-folder)
+(luna-define-method elmo-folder-append-messages :around ((folder
+                                                         elmo-localdir-folder)
                                                         src-folder numbers
                                                         unread-marks
                                                         &optional same-number)
 
               nil (current-buffer)
               'unread)
              (unless (eq (buffer-size) 0)
-               (elmo-folder-append-buffer
-                folder
-                (setq unseen (member (elmo-message-mark
-                                      src-folder (car numbers))
-                                     unread-marks))
-                (if same-number (car numbers)))))
+               (setq failure (not
+                              (elmo-folder-append-buffer
+                               folder
+                               (setq unseen (member (elmo-message-mark
+                                                     src-folder (car numbers))
+                                                    unread-marks))
+                               (if same-number (car numbers)))))))
          (error (setq failure t)))
        ;; FETCH & APPEND finished
        (unless failure