From: Katsumi Yamaoka Date: Mon, 4 Jul 2011 01:14:10 +0000 (+0000) Subject: nndraft.el (nndraft-update-unread-articles): New function. X-Git-Tag: emacs-pretest-24.0.90~104^2~152^2~206^2~3 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=30b0f2501c5d2ed922a9935cdc239eab1f657ba7;p=emacs.git nndraft.el (nndraft-update-unread-articles): New function. (nndraft-request-associate-buffer): Use it to update the number of unread articles for the nndraft groups in the group buffer when saving or killing a draft message. --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 47b41ffb98b..45c051c6913 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,10 @@ +2011-07-04 Katsumi Yamaoka + + * nndraft.el (nndraft-update-unread-articles): New function. + (nndraft-request-associate-buffer): Use it to update the number of + unread articles for the nndraft groups in the group buffer when saving + or killing a draft message. + 2011-07-03 Lars Magne Ingebrigtsen * gnus-group.el (gnus-read-ephemeral-bug-group): Bind the coding diff --git a/lisp/gnus/nndraft.el b/lisp/gnus/nndraft.el index 006348869ef..5275468bb6f 100644 --- a/lisp/gnus/nndraft.el +++ b/lisp/gnus/nndraft.el @@ -161,6 +161,16 @@ are generated if and only if they are also in `message-draft-headers'.") (message-headers-to-generate nndraft-required-headers message-draft-headers nil)))) +(defun nndraft-update-unread-articles () + "Update groups' unread articles in the group buffer." + (nndraft-request-list) + (with-current-buffer gnus-group-buffer + (let ((gnus-group-marked + (mapcar (lambda (elem) + (gnus-group-prefixed-name (car elem) (list 'nndraft ""))) + (nnmail-get-active)))) + (gnus-group-get-new-news-this-group nil t)))) + (deffoo nndraft-request-associate-buffer (group) "Associate the current buffer with some article in the draft group." (nndraft-open-server "") @@ -182,6 +192,10 @@ are generated if and only if they are also in `message-draft-headers'.") 'write-contents-hooks))) (gnus-make-local-hook hook) (add-hook hook 'nndraft-generate-headers nil t)) + (gnus-make-local-hook 'after-save-hook) + (add-hook 'after-save-hook 'nndraft-update-unread-articles nil t) + (message-add-action '(nndraft-update-unread-articles) + 'exit 'postpone 'kill) article)) (deffoo nndraft-request-group (group &optional server dont-check info)