X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=elmo%2Felmo.el;h=c3c0bd7900b785ad1472a288cd596ee29204eba3;hb=2706485848c7fabd109477e1d7fad89a6249f0b2;hp=ed890ebf01343f98f8841ba9d54cf3e51a1f49ca;hpb=e0d2e104ccdb5ee1c8fa06b722bf9fe7b3aa36d2;p=elisp%2Fwanderlust.git diff --git a/elmo/elmo.el b/elmo/elmo.el index ed890eb..c3c0bd7 100644 --- a/elmo/elmo.el +++ b/elmo/elmo.el @@ -217,6 +217,9 @@ If optional LOAD-MSGDB is non-nil, msgdb is loaded. (luna-define-generic elmo-folder-open-internal (folder) "Open FOLDER (without loading saved folder status).") +(luna-define-generic elmo-folder-open-internal-p (folder) + "Return non-nil if FOLDER is opened internally.") + (luna-define-generic elmo-folder-check (folder) "Check the FOLDER to obtain newest information at the next list operation.") @@ -713,6 +716,10 @@ Return a cons cell of (NUMBER-CROSSPOSTS . NEW-FLAG-ALIST).") nil ; default is do nothing. ) +(luna-define-method elmo-folder-open-internal-p ((folder elmo-folder)) + t ; default is always opened internally + ) + (luna-define-method elmo-folder-check ((folder elmo-folder)) nil) ; default is noop. @@ -860,7 +867,7 @@ Return a cons cell of (NUMBER-CROSSPOSTS . NEW-FLAG-ALIST).") (when (and filename (file-readable-p filename)) (with-temp-buffer (set-buffer-multibyte nil) - ;;(insert-file-contents-as-binary filename) +;;; (insert-file-contents-as-binary filename) (elmo-message-fetch folder number (elmo-make-fetch-strategy 'entire (and cache t) @@ -954,7 +961,8 @@ If optional argument IF-EXISTS is nil, load on demand. (elmo-folder-set-info-hashtb folder (if numbers (apply #'max numbers) 0) - nil ;;(length num-db) +;;; (length num-db) + nil )) (defun elmo-folder-get-info-max (folder) @@ -973,7 +981,7 @@ If optional argument IF-EXISTS is nil, load on demand. "Setup folder info hashtable by INFO-ALIST on HASHTB." (let* ((hashtb (or hashtb (elmo-make-hash (length info-alist))))) - (mapcar + (mapc (lambda (x) (let ((info (cadr x))) (and (intern-soft (car x) hashtb) @@ -1187,7 +1195,8 @@ Returns a list of message numbers successfully appended." (error "move: %d is not writable" (elmo-folder-name-internal dst-folder))) (when messages - ;; src is already opened. + (unless (elmo-folder-open-internal-p src-folder) + (elmo-folder-open-internal src-folder)) (elmo-folder-open-internal dst-folder) (unless (setq succeeds (elmo-folder-append-messages dst-folder src-folder @@ -1209,7 +1218,7 @@ Returns a list of message numbers successfully appended." result) (if no-delete (progn - ;; (message "Copying messages...done") +;;; (message "Copying messages...done") t) (if (eq len 0) (message "No message was moved.") @@ -1450,10 +1459,10 @@ If Optional LOCAL is non-nil, don't update server flag." ;; Do nothing. ) -;;(luna-define-generic elmo-folder-append-message-entity (folder entity -;; &optional -;; flag-table) -;; "Append ENTITY to the folder.") +;;;(luna-define-generic elmo-folder-append-message-entity (folder entity +;;; &optional +;;; flag-table) +;;; "Append ENTITY to the folder.") (defun elmo-msgdb-merge (folder msgdb-merge) "Return a list of messages which have duplicated message-id." @@ -1497,7 +1506,7 @@ If Optional LOCAL is non-nil, don't update server flag." (catch 'end (while t (setq in (read-from-minibuffer "Update number: " - (int-to-string in)) + (number-to-string in)) in (string-to-number in)) (if (< len in) (throw 'end len)) @@ -1775,8 +1784,8 @@ Return a hashtable for newsgroups." (while alist (setq newsgroups (elmo-delete-if - '(lambda (x) - (not (intern-soft x elmo-newsgroups-hashtb))) + (lambda (x) + (not (intern-soft x elmo-newsgroups-hashtb))) (nth 1 (car alist)))) (if newsgroups (setcar (cdar alist) newsgroups)