X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=elmo%2Felmo-sendlog.el;h=de753f8fb28506312cb6f68d672639b873939242;hb=64eb91d7fe775e78e0f1e6555b595e40f391260a;hp=6a411967f4a9cabcd22b61a35d672769cc083cb6;hpb=176969e96515838da31d9bac148b615910061942;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo-sendlog.el b/elmo/elmo-sendlog.el index 6a41196..de753f8 100644 --- a/elmo/elmo-sendlog.el +++ b/elmo/elmo-sendlog.el @@ -34,7 +34,6 @@ (require 'elmo-map) (defvar elmo-sendlog-filename "sendlog") -(defvar elmo-sendlog-buffer-name "*elmo-sendlog*") ;;; ELMO sendlog folder (eval-and-compile @@ -48,7 +47,7 @@ (luna-define-method elmo-folder-expand-msgdb-path ((folder elmo-sendlog-folder)) (expand-file-name "sendlog" (expand-file-name "internal" - elmo-msgdb-dir))) + elmo-msgdb-directory))) (luna-define-method elmo-map-folder-list-message-locations ((folder elmo-sendlog-folder)) @@ -56,13 +55,13 @@ (defun elmo-sendlog-folder-list-message-locations (folder) (let ((filename (expand-file-name elmo-sendlog-filename - elmo-msgdb-dir)) + elmo-msgdb-directory)) result) (if (not (file-readable-p filename)) - nil + nil (elmo-set-work-buf (as-binary-input-file - (insert-file-contents filename)) + (insert-file-contents filename)) (goto-char (point-min)) (catch 'done (while t @@ -82,10 +81,7 @@ (elmo-map-message-location folder number))) (luna-define-method elmo-folder-msgdb-create ((folder elmo-sendlog-folder) - numbers new-mark - already-mark seen-mark - important-mark - seen-list) + numbers seen-list) (let ((i 0) (len (length numbers)) overview number-alist mark-alist entity message-id @@ -96,7 +92,11 @@ (elmo-msgdb-create-overview-entity-from-file (car numbers) (elmo-message-file-name folder (car numbers)))) (if (null entity) - () + (elmo-folder-set-killed-list-internal + folder + (nconc + (elmo-folder-killed-list-internal folder) + (list (car numbers)))) (setq num (elmo-msgdb-overview-entity-get-number entity)) (setq overview (elmo-msgdb-append-element @@ -107,7 +107,8 @@ num message-id)) (if (setq mark (or (elmo-msgdb-global-mark-get message-id) - (if (member message-id seen-list) nil new-mark))) + (if (member message-id seen-list) nil + elmo-msgdb-new-mark))) (setq mark-alist (elmo-msgdb-mark-append mark-alist @@ -129,66 +130,27 @@ (luna-define-method elmo-map-message-fetch ((folder elmo-sendlog-folder) location strategy &optional section unseen) - (insert-file-contents-as-binary - (elmo-file-cache-get-path location))) - -(luna-define-method elmo-folder-creatable-p ((folder elmo-sendlog-folder)) - nil) - -(luna-define-method elmo-folder-writable-p ((folder elmo-sendlog-folder)) - nil) + (let ((filename (elmo-file-cache-get-path location))) + (if (file-exists-p filename) + (insert-file-contents-as-binary filename) + (error "Now this message is not cached. Please s all")))) (luna-define-method elmo-folder-exists-p ((folder elmo-sendlog-folder)) t) -(luna-define-method elmo-folder-search ((folder elmo-sendlog-folder) - condition &optional from-msgs) - (let* ((msgs (or from-msgs (elmo-folder-list-messages folder))) - (number-list msgs) - (i 0) - (num (length msgs)) - file - matched - case-fold-search) - (while msgs - (if (and (setq file (elmo-message-file-name folder (car msgs))) - (file-exists-p file) - (elmo-file-field-condition-match file - condition - (car msgs) - number-list)) - (setq matched (nconc matched (list (car msgs))))) - (elmo-display-progress - 'elmo-internal-folder-search "Searching..." - (/ (* (setq i (1+ i)) 100) num)) - (setq msgs (cdr msgs))) - matched)) - -(luna-define-method elmo-message-file-p ((folder elmo-sendlog-folder) number) +(luna-define-method elmo-folder-delete-messages ((folder elmo-sendlog-folder) + numbers) + (let ((killed-list (elmo-folder-killed-list-internal folder))) + (dolist (number numbers) + (setq killed-list + (elmo-msgdb-set-as-killed killed-list number))) + (elmo-folder-set-killed-list-internal folder killed-list)) t) -;;; To override elmo-map-folder methods. -(luna-define-method elmo-folder-list-unreads-internal - ((folder elmo-sendlog-folder) unread-marks &optional mark-alist) - t) - -(luna-define-method elmo-folder-unmark-important ((folder elmo-sendlog-folder) - numbers) - t) - -(luna-define-method elmo-folder-mark-as-important ((folder elmo-sendlog-folder) - numbers) - t) - -(luna-define-method elmo-folder-unmark-read ((folder elmo-sendlog-folder) - numbers) - t) - -(luna-define-method elmo-folder-mark-as-read ((folder elmo-sendlog-folder) - numbers) +(luna-define-method elmo-message-file-p ((folder elmo-sendlog-folder) number) t) (require 'product) (product-provide (provide 'elmo-sendlog) (require 'elmo-version)) -;;; elmo-sendlog.el ends here \ No newline at end of file +;;; elmo-sendlog.el ends here