(elmo-flatten): Use `append' and `listp' instead of
[elisp/wanderlust.git] / elmo / elmo-sendlog.el
index 937d2a1..ce01c2b 100644 (file)
        result)
     (if (not (file-readable-p filename))
        nil
-      (elmo-set-work-buf
-       (as-binary-input-file
-       (insert-file-contents filename))
-       (goto-char (point-min))
-       (catch 'done
-        (while t
-          (re-search-forward "id=\\([^@]+@[^@]+\\)$" (point-at-eol) t)
-          (setq result (append result (list (match-string 1))))
-          (if (eq (1+ (point-at-eol)) (point-max))
-              (throw 'done nil)
-            (beginning-of-line 2))))))
+      (with-temp-buffer
+       (as-binary-input-file
+        (insert-file-contents filename))
+       (goto-char (point-min))
+       (catch 'done
+         (while t
+           (re-search-forward "id=\\([^@]+@[^@]+\\)$" (point-at-eol) t)
+           (setq result (append result (list (match-string 1))))
+           (if (eq (1+ (point-at-eol)) (point-max))
+               (throw 'done nil)
+             (beginning-of-line 2))))))
     result))
 
 (luna-define-method elmo-folder-message-file-p ((folder elmo-sendlog-folder))
     (message "Creating msgdb...done")
     new-msgdb))
 
-(luna-define-method elmo-message-fetch-with-cache-process
-  ((folder elmo-sendlog-folder) number strategy &optional section unseen)
+(luna-define-method elmo-message-fetch
+  ((folder elmo-sendlog-folder) number strategy &optional unseen section)
   ;; disbable cache process
-  (elmo-message-fetch-internal folder number strategy section unseen))
+  (erase-buffer)
+  (when (elmo-message-fetch-internal folder number strategy section unseen)
+    (when (and (not unseen)
+              (elmo-message-flagged-p folder number 'unread))
+      (elmo-message-unset-flag folder number 'unread))
+    t))
 
 (luna-define-method elmo-map-message-fetch ((folder elmo-sendlog-folder)
                                            location strategy
 (luna-define-method elmo-message-file-p ((folder elmo-sendlog-folder) number)
   t)
 
+(luna-define-method elmo-folder-have-subfolder-p ((folder elmo-sendlog-folder))
+  nil)
+
 (require 'product)
 (product-provide (provide 'elmo-sendlog) (require 'elmo-version))