filename))
(luna-define-method elmo-folder-append-buffer ((folder elmo-maildir-folder)
- &optional flag number)
+ &optional flags number)
(let ((basedir (elmo-maildir-folder-directory-internal folder))
(src-buf (current-buffer))
dst-buf filename)
(as-binary-output-file
(write-region (point-min) (point-max) filename nil 'no-msg))
;; add link from new.
- (elmo-add-name-to-file
+ ;; Some filesystem (like AFS) does not have hard-link.
+ ;; So we use elmo-copy-file instead of elmo-add-name-to-file here.
+ (elmo-copy-file
filename
(expand-file-name
(concat "new/" (file-name-nondirectory filename))
basedir))
+ (elmo-folder-preserve-flags
+ folder (elmo-msgdb-get-message-id-from-buffer) flags)
t)
;; If an error occured, return nil.
(error))))
(if (elmo-folder-message-file-p src-folder)
(let ((src-msgdb-exists (not (zerop (elmo-folder-length src-folder))))
(dir (elmo-maildir-folder-directory-internal folder))
- (table (elmo-flag-table-load (elmo-folder-msgdb-path folder)))
+ (table (elmo-folder-flag-table folder))
(succeeds numbers)
filename flags id)
(dolist (number numbers)
(elmo-copy-file
(elmo-message-file-name src-folder number)
filename)
- (elmo-add-name-to-file
+ ;; Some filesystem (like AFS) does not have hard-link.
+ ;; So we use elmo-copy-file instead of elmo-add-name-to-file here.
+ (elmo-copy-file
filename
(expand-file-name
(concat "new/" (file-name-nondirectory filename))
(elmo-flag-table-set table id flags))
(elmo-progress-notify 'elmo-folder-move-messages))
(when (elmo-folder-persistent-p folder)
- (elmo-flag-table-save (elmo-folder-msgdb-path folder) table))
+ (elmo-folder-close-flag-table folder))
succeeds)
(luna-call-next-method)))
(if (and file
(file-writable-p file)
(not (file-directory-p file)))
- (delete-file file)))))
+ (delete-file file))))
+ t)
(luna-define-method elmo-map-message-fetch ((folder elmo-maildir-folder)
location strategy