* wl-summary.el (wl-summary-detect-mark-position): Follow the API
[elisp/wanderlust.git] / elmo / elmo-pop3.el
index dad3830..19db3b0 100644 (file)
@@ -696,6 +696,7 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
       (elmo-pop3-sort-msgdb-by-original-number
        folder
        (elmo-pop3-msgdb-create-by-header
+       folder
        process
        numlist
        flag-table
@@ -709,10 +710,10 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
        msgdb
        (lambda (ent1 ent2 loc-alist)
         (< (elmo-pop3-uidl-to-number
-            (cdr (assq (elmo-msgdb-overview-entity-get-number ent1)
+            (cdr (assq (elmo-message-entity-number ent1)
                        loc-alist)))
            (elmo-pop3-uidl-to-number
-            (cdr (assq (elmo-msgdb-overview-entity-get-number ent2)
+            (cdr (assq (elmo-message-entity-number ent2)
                        loc-alist)))))
        location-alist))
     msgdb))
@@ -729,9 +730,9 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
   (elmo-get-hash-val (format "#%d" number)
                     elmo-pop3-size-hash))
 
-(defun elmo-pop3-msgdb-create-by-header (process numlist
-                                                flag-table
-                                                loc-alist)
+(defun elmo-pop3-msgdb-create-by-header (folder process numlist
+                                               flag-table
+                                               loc-alist)
   (let ((tmp-buffer (get-buffer-create " *ELMO Overview TMP*")))
     (with-current-buffer (process-buffer process)
       (if loc-alist ; use uidl.
@@ -746,6 +747,7 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
                                  tmp-buffer process numlist)
       (prog1
          (elmo-pop3-msgdb-create-message
+          folder
           tmp-buffer
           process
           (length numlist)
@@ -753,7 +755,8 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
           flag-table loc-alist)
        (kill-buffer tmp-buffer)))))
 
-(defun elmo-pop3-msgdb-create-message (buffer
+(defun elmo-pop3-msgdb-create-message (folder
+                                      buffer
                                       process
                                       num
                                       numlist
@@ -761,7 +764,7 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
                                       loc-alist)
   (save-excursion
     (let ((new-msgdb (elmo-make-msgdb))
-         beg entity i number message-id gmark)
+         beg entity i number message-id flags)
       (set-buffer buffer)
       (elmo-set-buffer-multibyte default-enable-multibyte-characters)
       (goto-char (point-min))
@@ -775,31 +778,28 @@ If IF-EXISTS is `any-exists', get BIFF session or normal session if exists."
          (save-restriction
            (narrow-to-region beg (point))
            (setq entity
-                 (elmo-msgdb-create-overview-from-buffer
-                  (car numlist)))
+                 (elmo-msgdb-create-message-entity-from-buffer
+                  new-msgdb (car numlist)))
            (setq numlist (cdr numlist))
            (when entity
              (with-current-buffer (process-buffer process)
-               (elmo-msgdb-overview-entity-set-size
+               (elmo-message-entity-set-field
                 entity
+                'size
                 (string-to-number
                  (elmo-pop3-number-to-size
-                  (elmo-msgdb-overview-entity-get-number entity))))
+                  (elmo-message-entity-number entity))))
                (if (setq number
                          (car
                           (rassoc
                            (elmo-pop3-number-to-uidl
-                            (elmo-msgdb-overview-entity-get-number entity))
+                            (elmo-message-entity-number entity))
                            loc-alist)))
-                   (elmo-msgdb-overview-entity-set-number entity number)))
-             (setq message-id (elmo-message-entity-field entity 'message-id))
-             (setq gmark (or (elmo-msgdb-global-mark-get message-id)
-                             (elmo-msgdb-mark
-                              (elmo-flag-table-get flag-table message-id)
-                              (elmo-file-cache-status
-                               (elmo-file-cache-get message-id))
-                              'new)))
-             (elmo-msgdb-append-entity new-msgdb entity gmark))))
+                   (elmo-message-entity-set-number entity number)))
+             (setq message-id (elmo-message-entity-field entity 'message-id)
+                   flags (elmo-flag-table-get flag-table message-id))
+             (elmo-global-flags-set flags folder number message-id)
+             (elmo-msgdb-append-entity new-msgdb entity flags))))
        (when (> num elmo-display-progress-threshold)
          (setq i (1+ i))
          (if (or (zerop (% i 5)) (= i num))