From: yamaoka Date: Fri, 24 Aug 2001 10:07:41 +0000 (+0000) Subject: Synch with Oort Gnus. X-Git-Tag: semi-gnus~58 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=57d68edefa2cd78977b0e5c5042cde16964b70f3;p=elisp%2Fgnus.git- Synch with Oort Gnus. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 30a9df9..f445159 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2001-08-24 Simon Josefsson + * gnus-group.el (gnus-info-clear-data): Call + nnfoo-request-set-mark to propagate marks. Fix bug: + `gnus-group-update-line' doesn't update read range unless we call + `gnus-get-unread-articles-in-group' first. + * nnimap.el (nnimap-request-set-mark): Don't propagate seen flags to server. diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 1ff22b6..cc9dacd 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -2845,13 +2845,22 @@ sort in reverse order." (defun gnus-info-clear-data (info) "Clear all marks and read ranges from INFO." - (let ((group (gnus-info-group info))) + (let ((group (gnus-info-group info)) + action) + (dolist (el (gnus-info-marks info)) + (push `(,(cdr el) add (,(car el))) action)) + (push `(,(gnus-info-read info) add (read)) action) (gnus-undo-register `(progn + (gnus-request-set-mark ,group ',action) (gnus-info-set-marks ',info ',(gnus-info-marks info) t) (gnus-info-set-read ',info ',(gnus-info-read info)) (when (gnus-group-goto-group ,group) + (gnus-get-unread-articles-in-group ',info ',(gnus-active group) t) (gnus-group-update-group-line)))) + (setq action (mapcar (lambda (el) (list (nth 0 el) 'del (nth 2 el))) + action)) + (gnus-request-set-mark group action) (gnus-info-set-read info nil) (when (gnus-info-marks info) (gnus-info-set-marks info nil))))