X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=elmo%2Felmo-archive.el;h=e610f4d304137dc85f9b1417ef335c329ae49321;hb=c2738fdc4e616fb55973a7e285432f60af6c1c57;hp=e8c631c14144d4d5d35a461a50471def2c6a7924;hpb=bb80c1a8578abe6d0d2c89fcb1010e4218f34502;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-archive.el b/elmo/elmo-archive.el index e8c631c..e610f4d 100644 --- a/elmo/elmo-archive.el +++ b/elmo/elmo-archive.el @@ -931,7 +931,7 @@ TYPE specifies the archiver's symbol." (file (elmo-archive-get-archive-name folder)) (method (elmo-archive-get-method type 'cat)) (new-msgdb (elmo-make-msgdb)) - entity i percent num message-id) + entity i percent num message-id flags) (with-temp-buffer (setq num (length numlist)) (setq i 0) @@ -943,11 +943,10 @@ TYPE specifies the archiver's symbol." method file (car numlist) type (elmo-archive-folder-archive-prefix-internal folder))) (when entity - (setq message-id (elmo-msgdb-overview-entity-get-id entity)) - (elmo-msgdb-append-entity - new-msgdb - entity - (elmo-flag-table-get flag-table message-id))) + (setq message-id (elmo-msgdb-overview-entity-get-id entity) + flags (elmo-flag-table-get flag-table message-id)) + (elmo-global-flags-set flags folder (car numlist) message-id) + (elmo-msgdb-append-entity new-msgdb entity flags)) (when (> num elmo-display-progress-threshold) (setq i (1+ i)) (setq percent (/ (* i 100) num)) @@ -996,7 +995,7 @@ TYPE specifies the archiver's symbol." ((looking-at delim1) ;; MMDF (elmo-msgdb-append new-msgdb - (elmo-archive-parse-mmdf msgs flag-table))) + (elmo-archive-parse-mmdf folder msgs flag-table))) ;;; ((looking-at delim2) ;; UNIX MAIL ;;; (elmo-msgdb-append ;;; new-msgdb @@ -1011,11 +1010,11 @@ TYPE specifies the archiver's symbol." percent)))) new-msgdb)) -(defun elmo-archive-parse-mmdf (msgs flag-table) +(defun elmo-archive-parse-mmdf (folder msgs flag-table) (let ((delim elmo-mmdf-delimiter) (new-msgdb (elmo-make-msgdb)) number sp ep rest entity - message-id) + message-id flags) (goto-char (point-min)) (setq rest msgs) (while (and rest (re-search-forward delim nil t) @@ -1028,12 +1027,11 @@ TYPE specifies the archiver's symbol." () ; nop (save-excursion (narrow-to-region sp ep) - (setq entity (elmo-archive-msgdb-create-entity-subr number)) - (setq message-id (elmo-msgdb-overview-entity-get-id entity)) - (elmo-msgdb-append-entity - new-msgdb - entity - (elmo-flag-table-get flag-table message-id)) + (setq entity (elmo-archive-msgdb-create-entity-subr number) + message-id (elmo-msgdb-overview-entity-get-id entity) + 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) (widen))) (forward-line 1) (setq rest (cdr rest)))