(defun elmo-passwd-alist-load ()
(save-excursion
(let ((filename (expand-file-name elmo-passwd-alist-file-name
- elmo-msgdb-dir))
+ elmo-msgdb-directory))
(tmp-buffer (get-buffer-create " *elmo-passwd-alist-tmp*"))
insert-file-contents-pre-hook ; To avoid autoconv-xmas...
insert-file-contents-post-hook
(interactive)
(save-excursion
(let ((filename (expand-file-name elmo-passwd-alist-file-name
- elmo-msgdb-dir))
+ elmo-msgdb-directory))
(tmp-buffer (get-buffer-create " *elmo-passwd-alist-tmp*")))
(set-buffer tmp-buffer)
(erase-buffer)
(if (null (file-directory-p parent))
(elmo-make-directory parent))
(make-directory path)
- (if (string= path (expand-file-name elmo-msgdb-dir))
+ (if (string= path (expand-file-name elmo-msgdb-directory))
(set-file-modes path (+ (* 64 7) (* 8 0) 0))))) ; chmod 0700
(defun elmo-delete-directory (path &optional no-hierarchy)
(length (memq number number-list)))
(string-to-int (elmo-filter-value condition)))))
((string= (elmo-filter-key condition) "since")
- (let ((date (elmo-date-get-datevec (elmo-filter-value condition))))
+ (let ((field-date (elmo-date-make-sortable-string
+ (timezone-fix-time
+ (std11-field-body "date")
+ (current-time-zone) nil)))
+ (specified-date (elmo-date-make-sortable-string
+ (elmo-date-get-datevec
+ (elmo-filter-value condition)))))
(setq result
- (string<
- (timezone-make-sortable-date (aref date 0)
- (aref date 1)
- (aref date 2)
- (timezone-make-time-string
- (aref date 3)
- (aref date 4)
- (aref date 5)))
- (timezone-make-date-sortable (std11-field-body "date"))))))
+ (or (string= field-date specified-date)
+ (string< specified-date field-date)))))
((string= (elmo-filter-key condition) "before")
- (let ((date (elmo-date-get-datevec (elmo-filter-value condition))))
- (setq result
- (string<
- (timezone-make-date-sortable (std11-field-body "date"))
- (timezone-make-sortable-date (aref date 0)
- (aref date 1)
- (aref date 2)
- (timezone-make-time-string
- (aref date 3)
- (aref date 4)
- (aref date 5)))))))
+ (setq result
+ (string<
+ (elmo-date-make-sortable-string
+ (timezone-fix-time
+ (std11-field-body "date")
+ (current-time-zone) nil))
+ (elmo-date-make-sortable-string
+ (elmo-date-get-datevec
+ (elmo-filter-value condition))))))
((string= (elmo-filter-key condition) "body")
(and (re-search-forward "^$" nil t) ; goto body
(setq result (search-forward (elmo-filter-value condition)
(cond
((string= (elmo-filter-key condition) "last")
(setq result (<= (length (memq number number-list))
- (string-to-int (elmo-filter-value condition)))))
+ (string-to-int (elmo-filter-value condition))))
+ (if (eq (elmo-filter-type condition) 'unmatch)
+ (setq result (not result))))
((string= (elmo-filter-key condition) "first")
(setq result (< (- (length number-list)
(length (memq number number-list)))
- (string-to-int (elmo-filter-value condition)))))
+ (string-to-int (elmo-filter-value condition))))
+ (if (eq (elmo-filter-type condition) 'unmatch)
+ (setq result (not result))))
(t
(elmo-set-work-buf
(as-binary-input-file (insert-file-contents file))
(setq result
(elmo-buffer-field-primitive-condition-match
condition number number-list)))))
- (if (eq (elmo-filter-type condition) 'unmatch)
- (setq result (not result)))
result))
(defun elmo-file-field-condition-match (file condition number number-list)
(defun elmo-progress-clear (label)
(let ((counter (assq label elmo-progress-counter-alist)))
(when counter
- (elmo-display-progress label "" 100)
+ (elmo-display-progress label
+ (elmo-progress-counter-format counter)
+ 100)
(setq elmo-progress-counter-alist
(delq counter elmo-progress-counter-alist)))))
(if (setq msgid (elmo-msgid-to-cache msgid))
(expand-file-name
(if section
- (format "%s/%s/%s/%s/%s"
- elmo-msgdb-dir
- elmo-cache-dirname
+ (format "%s/%s/%s/%s"
+ elmo-cache-directory
(elmo-cache-get-path-subr msgid)
msgid
section)
- (format "%s/%s/%s/%s"
- elmo-msgdb-dir
- elmo-cache-dirname
+ (format "%s/%s/%s"
+ elmo-cache-directory
(elmo-cache-get-path-subr msgid)
msgid)))))
;; ignore error
(error)))
+(defun elmo-file-cache-load (cache-path section)
+ "Load cache on PATH into the current buffer.
+Return t if cache is loaded successfully."
+ (condition-case nil
+ (let (cache-file)
+ (when (and cache-path
+ (if (elmo-cache-path-section-p cache-path)
+ section
+ (null section))
+ (setq cache-file (elmo-file-cache-expand-path
+ cache-path
+ section))
+ (file-exists-p cache-file))
+ (insert-file-contents-as-binary cache-file)
+ t))
+ ;; igore error
+ (error)))
+
(defun elmo-cache-path-section-p (path)
"Return non-nil when PATH is `section' cache path."
(file-directory-p path))
total beginning)
(message "Checking disk usage...")
(setq total (/ (elmo-disk-usage
- (expand-file-name
- elmo-cache-dirname elmo-msgdb-dir)) Kbytes))
+ elmo-cache-directory) Kbytes))
(setq beginning total)
(message "Checking disk usage...done")
(let ((cfl (elmo-cache-get-sorted-cache-file-list))
(defun elmo-cache-get-sorted-cache-file-list ()
(let ((dirs (directory-files
- (expand-file-name elmo-cache-dirname elmo-msgdb-dir)
+ elmo-cache-directory
t "^[^\\.]"))
(i 0) num
elist
elmo-cache-expire-default-age)))
(int-to-string elmo-cache-expire-default-age)))
(dirs (directory-files
- (expand-file-name elmo-cache-dirname elmo-msgdb-dir)
+ elmo-cache-directory
t "^[^\\.]"))
(count 0)
curtime)
(format "%s/%s"
(elmo-cache-get-path-subr msgid)
msgid))
- (expand-file-name elmo-cache-dirname
- elmo-msgdb-dir)))))
+ elmo-cache-directory))))
;;;
;; Warnings.
(setq elmo-dop-queue
(elmo-object-load
(expand-file-name elmo-dop-queue-filename
- elmo-msgdb-dir))))
+ elmo-msgdb-directory))))
(defun elmo-dop-queue-save ()
(elmo-object-save
(expand-file-name elmo-dop-queue-filename
- elmo-msgdb-dir)
+ elmo-msgdb-directory)
elmo-dop-queue))
(require 'product)