summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b4c8b5a)
visible-only is non-nil.
(elmo-folder-confirm-appends): Changed message.
(elmo-folder-synchronize): Added argument disable-killed.
* elmo-multi.el (elmo-folder-synchronize): Added argument disable-killed.
* elmo-pipe.el (elmo-folder-synchronize): Ditto.
* wl-summary.el (wl-summary-rescan): Added argument disable-kill
(wl-summary-rescan): Set wl-summary-scored as nil.
(wl-summary-sync-force-update): Follow the change above.
(wl-summary-sync): Ditto.
(wl-summary-sync-update): Added argument disable-killed.
(wl-summary-insert-headers): Set visible-only argument for
elmo-folder-list-messages.
(wl-summary-input-range): Added update-nokill, update-noscore,
all-nokill, all-noscore and mark.
2003-08-02 Yuuichi Teranishi <teranisi@gohome.org>
2003-08-02 Yuuichi Teranishi <teranisi@gohome.org>
+ * elmo.el (elmo-folder-list-messages): Treat killed-list only when
+ visible-only is non-nil.
+ (elmo-folder-confirm-appends): Changed message.
+ (elmo-folder-synchronize): Added argument disable-killed.
+
+ * elmo-multi.el (elmo-folder-synchronize): Added argument
+ disable-killed.
+
+ * elmo-pipe.el (elmo-folder-synchronize): Ditto.
+
* elmo-version.el (elmo-version): Up to 2.11.5.
* elmo-multi.el (elmo-folder-search): Use nil for 1st argument of
* elmo-version.el (elmo-version): Up to 2.11.5.
* elmo-multi.el (elmo-folder-search): Use nil for 1st argument of
(elmo-folder-set-msgdb-internal fld nil)))
(luna-define-method elmo-folder-synchronize ((folder elmo-multi-folder)
(elmo-folder-set-msgdb-internal fld nil)))
(luna-define-method elmo-folder-synchronize ((folder elmo-multi-folder)
+ &optional
+ disable-killed
+ ignore-msgdb
no-check)
(dolist (fld (elmo-multi-folder-children-internal folder))
no-check)
(dolist (fld (elmo-multi-folder-children-internal folder))
- (elmo-folder-synchronize fld ignore-msgdb no-check))
+ (elmo-folder-synchronize fld disable-killed ignore-msgdb no-check))
0)
(luna-define-method elmo-folder-expand-msgdb-path ((folder
0)
(luna-define-method elmo-folder-expand-msgdb-path ((folder
(elmo-pipe-folder-dst-internal folder)))
(luna-define-method elmo-folder-synchronize ((folder elmo-pipe-folder)
(elmo-pipe-folder-dst-internal folder)))
(luna-define-method elmo-folder-synchronize ((folder elmo-pipe-folder)
+ &optional
+ disable-killed
+ ignore-msgdb
no-check)
(let ((src-folder (elmo-pipe-folder-src-internal folder))
(dst-folder (elmo-pipe-folder-dst-internal folder)))
no-check)
(let ((src-folder (elmo-pipe-folder-src-internal folder))
(dst-folder (elmo-pipe-folder-dst-internal folder)))
(elmo-pipe-folder-copied-list-load folder)))
(elmo-pipe-drain src-folder dst-folder))))
(elmo-folder-synchronize
(elmo-pipe-folder-copied-list-load folder)))
(elmo-pipe-drain src-folder dst-folder))))
(elmo-folder-synchronize
- (elmo-pipe-folder-dst-internal folder) ignore-msgdb no-check))
+ (elmo-pipe-folder-dst-internal folder)
+ disable-killed ignore-msgdb no-check))
(luna-define-method elmo-folder-list-flagged ((folder elmo-pipe-folder)
flag
(luna-define-method elmo-folder-list-flagged ((folder elmo-pipe-folder)
flag
(let ((list (if in-msgdb
t
(elmo-folder-list-messages-internal folder visible-only))))
(let ((list (if in-msgdb
t
(elmo-folder-list-messages-internal folder visible-only))))
- (elmo-living-messages
- (if (listp list)
- list
- ;; Use current list.
- (elmo-msgdb-list-messages (elmo-folder-msgdb folder)))
- (elmo-folder-killed-list-internal folder))))
+ (setq list
+ (if (listp list)
+ list
+ ;; Use current list.
+ (elmo-msgdb-list-messages (elmo-folder-msgdb folder))))
+ (if visible-only
+ (elmo-living-messages list (elmo-folder-killed-list-internal folder))
+ list)))
(luna-define-generic elmo-folder-list-unreads (folder)
"Return a list of unread message numbers contained in FOLDER.")
(luna-define-generic elmo-folder-list-unreads (folder)
"Return a list of unread message numbers contained in FOLDER.")
in (string-to-int in))
(if (< len in)
(throw 'end len))
in (string-to-int in))
(if (< len in)
(throw 'end len))
- (if (y-or-n-p (format "%d messages are not appeared. OK? "
- (max (- len in) 0)))
+ (if (y-or-n-p (format
+ "%d messages are killed (not appeared). OK? "
+ (max (- len in) 0)))
(throw 'end in))))
(nthcdr (max (- len in) 0) appends))
(if (and elmo-folder-update-threshold
(throw 'end in))))
(nthcdr (max (- len in) 0) appends))
(if (and elmo-folder-update-threshold
(elmo-folder-set-msgdb-internal folder (elmo-msgdb-clear)))
(luna-define-generic elmo-folder-synchronize (folder
(elmo-folder-set-msgdb-internal folder (elmo-msgdb-clear)))
(luna-define-generic elmo-folder-synchronize (folder
+ &optional
+ disable-killed
+ ignore-msgdb
no-check)
"Synchronize the folder data to the newest status.
FOLDER is the ELMO folder structure.
no-check)
"Synchronize the folder data to the newest status.
FOLDER is the ELMO folder structure.
+If optional DISABLE-KILLED is non-nil, killed messages are also synchronized.
If optional IGNORE-MSGDB is non-nil, current msgdb is thrown away except
If optional IGNORE-MSGDB is non-nil, current msgdb is thrown away except
-flag status. If IGNORE-MSGDB is 'visible-only, only visible messages
-\(the messages which are not in the killed-list\) are thrown away and
-synchronized.
If NO-CHECK is non-nil, rechecking folder is skipped.
Return a list of a cross-posted message number.
If update process is interrupted, return nil.")
(luna-define-method elmo-folder-synchronize ((folder elmo-folder)
If NO-CHECK is non-nil, rechecking folder is skipped.
Return a list of a cross-posted message number.
If update process is interrupted, return nil.")
(luna-define-method elmo-folder-synchronize ((folder elmo-folder)
- &optional ignore-msgdb no-check)
+ &optional
+ disable-killed
+ ignore-msgdb
+ no-check)
(let ((killed-list (elmo-folder-killed-list-internal folder))
(before-append t)
number-alist
old-msgdb diff diff-2 delete-list new-list new-msgdb mark
(let ((killed-list (elmo-folder-killed-list-internal folder))
(before-append t)
number-alist
old-msgdb diff diff-2 delete-list new-list new-msgdb mark
- flag-table crossed after-append numbers)
+ flag-table crossed after-append)
(setq old-msgdb (elmo-folder-msgdb folder))
(setq flag-table (elmo-flag-table-load (elmo-folder-msgdb-path folder)))
(when ignore-msgdb
(elmo-msgdb-flag-table (elmo-folder-msgdb folder) flag-table)
(setq old-msgdb (elmo-folder-msgdb folder))
(setq flag-table (elmo-flag-table-load (elmo-folder-msgdb-path folder)))
(when ignore-msgdb
(elmo-msgdb-flag-table (elmo-folder-msgdb folder) flag-table)
- (elmo-folder-clear folder (eq ignore-msgdb 'visible-only)))
- (setq numbers (sort (elmo-folder-list-messages folder nil t) '<))
+ (elmo-folder-clear folder (not disable-killed)))
(unless no-check (elmo-folder-check folder))
(condition-case nil
(progn
(message "Checking folder diff...")
(setq diff (elmo-list-diff (elmo-folder-list-messages
folder
(unless no-check (elmo-folder-check folder))
(condition-case nil
(progn
(message "Checking folder diff...")
(setq diff (elmo-list-diff (elmo-folder-list-messages
folder
- (eq 'visible-only ignore-msgdb))
- numbers))
+ (not disable-killed))
+ (elmo-folder-list-messages
+ folder
+ (not disable-killed)
+ 'in-msgdb)))
(message "Checking folder diff...done")
(setq new-list (elmo-folder-confirm-appends (car diff)))
;; Set killed list as ((1 . MAX-OF-DISAPPEARED))
(message "Checking folder diff...done")
(setq new-list (elmo-folder-confirm-appends (car diff)))
;; Set killed list as ((1 . MAX-OF-DISAPPEARED))
2003-08-02 Yuuichi Teranishi <teranisi@gohome.org>
2003-08-02 Yuuichi Teranishi <teranisi@gohome.org>
+ * wl-summary.el (wl-summary-rescan): Added argument disable-kill
+ (wl-summary-rescan): Set wl-summary-scored as nil.
+ (wl-summary-sync-force-update): Follow the change above.
+ (wl-summary-sync): Ditto.
+ (wl-summary-sync-update): Added argument disable-killed.
+ (wl-summary-insert-headers): Set visible-only argument for
+ elmo-folder-list-messages.
+ (wl-summary-input-range): Added update-nokill, update-noscore,
+ all-nokill, all-noscore and mark.
+
* Version number is increased to 2.11.5.
* wl-draft.el (wl-draft): Set buffer-undo-list as nil.
* Version number is increased to 2.11.5.
* wl-draft.el (wl-draft): Set buffer-undo-list as nil.
(or ml-name (setq ml-name (match-string 1 delivered-to))))
(and (setq mailing-list
(elmo-message-entity-field entity 'mailing-list))
(or ml-name (setq ml-name (match-string 1 delivered-to))))
(and (setq mailing-list
(elmo-message-entity-field entity 'mailing-list))
- (string-match "\\(^\\|; \\)contact \\([^@]+\\)-[^-@]+@" mailing-list) ; *-help@, *-owner@, etc.
+ ;; *-help@, *-owner@, etc.
+ (string-match "\\(^\\|; \\)contact \\([^@]+\\)-[^-@]+@" mailing-list)
(or ml-name (setq ml-name (match-string 2 mailing-list))))
(cons (and ml-name (car (split-string ml-name " ")))
(and ml-count (string-to-int ml-count)))))
(or ml-name (setq ml-name (match-string 2 mailing-list))))
(cons (and ml-name (car (split-string ml-name " ")))
(and ml-count (string-to-int ml-count)))))
(interactive)
(wl-summary-rescan "list-info"))
(interactive)
(wl-summary-rescan "list-info"))
-(defun wl-summary-rescan (&optional sort-by)
+(defun wl-summary-rescan (&optional sort-by disable-killed)
"Rescan current folder without updating."
(interactive)
(let ((elmo-mime-charset wl-summary-buffer-mime-charset)
"Rescan current folder without updating."
(interactive)
(let ((elmo-mime-charset wl-summary-buffer-mime-charset)
(inhibit-read-only t)
(buffer-read-only nil)
(numbers (elmo-folder-list-messages wl-summary-buffer-elmo-folder
(inhibit-read-only t)
(buffer-read-only nil)
(numbers (elmo-folder-list-messages wl-summary-buffer-elmo-folder
+ (not disable-killed) t)) ; in-msgdb
expunged)
(erase-buffer)
(message "Re-scanning...")
expunged)
(erase-buffer)
(message "Re-scanning...")
(setq wl-thread-entity-hashtb (elmo-make-hash (* num 2))
wl-thread-entity-list nil
wl-thread-entities nil
(setq wl-thread-entity-hashtb (elmo-make-hash (* num 2))
wl-thread-entity-list nil
wl-thread-entities nil
wl-summary-buffer-number-list nil
wl-summary-buffer-target-mark-list nil
wl-summary-buffer-temp-mark-list nil
wl-summary-buffer-number-list nil
wl-summary-buffer-target-mark-list nil
wl-summary-buffer-temp-mark-list nil
(wl-thread-insert-top)
(message "Inserting thread...done")))
(when wl-use-scoring
(wl-thread-insert-top)
(message "Inserting thread...done")))
(when wl-use-scoring
- (setq wl-summary-scored nil)
(wl-summary-score-headers (wl-summary-rescore-msgs
wl-summary-buffer-number-list)
t)
(wl-summary-score-headers (wl-summary-rescore-msgs
wl-summary-buffer-number-list)
t)
(defun wl-summary-sync-force-update (&optional unset-cursor no-check)
(interactive)
(defun wl-summary-sync-force-update (&optional unset-cursor no-check)
(interactive)
- (wl-summary-sync-update unset-cursor nil no-check))
+ (wl-summary-sync-update unset-cursor nil nil no-check))
(defsubst wl-summary-sync-all-init ()
(wl-summary-cleanup-temp-marks)
(defsubst wl-summary-sync-all-init ()
(wl-summary-cleanup-temp-marks)
((string= range "rescan-noscore")
(let ((msg (wl-summary-message-number))
wl-use-scoring)
((string= range "rescan-noscore")
(let ((msg (wl-summary-message-number))
wl-use-scoring)
+ (wl-summary-rescan nil t)
+ (and msg (wl-summary-jump-to-msg msg))))
+ ((string= range "mark")
+ (let ((msg (wl-summary-message-number)))
+ (wl-summary-sync-marks)
(and msg (wl-summary-jump-to-msg msg))))
((string= range "cache-status")
(let ((msg (wl-summary-message-number)))
(and msg (wl-summary-jump-to-msg msg))))
((string= range "cache-status")
(let ((msg (wl-summary-message-number)))
(wl-summary-goto-folder-subr (concat "/" range "/"
(elmo-folder-name-internal
folder))
(wl-summary-goto-folder-subr (concat "/" range "/"
(elmo-folder-name-internal
folder))
- 'force-update nil nil t))
+ 'force-update nil nil t))
- (wl-summary-sync-update unset-cursor
- (cond ((string= range "all") 'all)
- ((string= range "all-visible")
- 'visible-only)))))))
+ (let ((wl-use-scoring (if (string-match "noscore" range)
+ nil
+ wl-use-scoring)))
+ (wl-summary-sync-update unset-cursor
+ (or (string-match "nokill" range)
+ (string-match "noscore" range))
+ (string-match "all" range)))))))
(defvar wl-summary-edit-addresses-candidate-fields
;; First element becomes default.
(defvar wl-summary-edit-addresses-candidate-fields
;; First element becomes default.
(setq diffs (cdr diffs)))
(if (interactive-p) (message "%s" mes)))))
(setq diffs (cdr diffs)))
(if (interactive-p) (message "%s" mes)))))
-(defun wl-summary-sync-update (&optional unset-cursor sync-all no-check)
+(defun wl-summary-sync-update (&optional unset-cursor
+ disable-killed
+ sync-all
+ no-check)
"Update the summary view to the newest folder status."
(interactive)
(let* ((folder wl-summary-buffer-elmo-folder)
"Update the summary view to the newest folder status."
(interactive)
(let* ((folder wl-summary-buffer-elmo-folder)
;;(wl-summary-flush-pending-append-operations seen-list))
(goto-char (point-max))
(wl-folder-confirm-existence folder (elmo-folder-plugged-p folder))
;;(wl-summary-flush-pending-append-operations seen-list))
(goto-char (point-max))
(wl-folder-confirm-existence folder (elmo-folder-plugged-p folder))
- (setq crossed (elmo-folder-synchronize folder sync-all no-check))
+ (setq crossed (elmo-folder-synchronize folder
+ disable-killed
+ sync-all
+ no-check))
(if crossed
(progn
;; Setup sync-all
(if sync-all (wl-summary-sync-all-init))
(setq diff (elmo-list-diff (elmo-folder-list-messages
folder
(if crossed
(progn
;; Setup sync-all
(if sync-all (wl-summary-sync-all-init))
(setq diff (elmo-list-diff (elmo-folder-list-messages
folder
'in-msgdb)
wl-summary-buffer-number-list))
(setq append-list (car diff))
'in-msgdb)
wl-summary-buffer-number-list))
(setq append-list (car diff))
wl-summary-alike-hashtb)))
(defun wl-summary-insert-headers (folder func mime-decode)
wl-summary-alike-hashtb)))
(defun wl-summary-insert-headers (folder func mime-decode)
- (let ((numbers (elmo-folder-list-messages folder t t))
+ (let ((numbers (elmo-folder-list-messages folder nil t))
ov this last alike)
(buffer-disable-undo (current-buffer))
(make-local-variable 'wl-summary-alike-hashtb)
ov this last alike)
(buffer-disable-undo (current-buffer))
(make-local-variable 'wl-summary-alike-hashtb)
(defun wl-summary-input-range (folder)
"returns update or all or rescan."
;; for the case when parts are expanded in the bottom of the folder
(defun wl-summary-input-range (folder)
"returns update or all or rescan."
;; for the case when parts are expanded in the bottom of the folder
- (let ((input-range-list '("update" "all" "rescan" "first:" "last:"
+ (let ((input-range-list '("no-sync"
+ "first:"
+ "last:"
- "no-sync" "rescan-noscore" "all-visible"))
+ "rescan"
+ "rescan-noscore"
+ "update"
+ "update-nokill"
+ "update-noscore"
+ "all"
+ "all-nokill"
+ "all-noscore"))
(default (or (wl-get-assoc-list-value
wl-folder-sync-range-alist
folder)
(default (or (wl-get-assoc-list-value
wl-folder-sync-range-alist
folder)