(require 'elmo-map)
(defvar elmo-sendlog-filename "sendlog")
-(defvar elmo-sendlog-buffer-name "*elmo-sendlog*")
;;; ELMO sendlog folder
(eval-and-compile
(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))
(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
(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
(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)))
+ (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-creatable-p ((folder elmo-sendlog-folder))
nil)
(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-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)
(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