From: Katsumi Yamaoka Date: Mon, 4 Jul 2011 01:13:23 +0000 (+0000) Subject: nndraft.el (nndraft-update-unread-articles): New function. X-Git-Url: http://cgit.sxemacs.org/?a=commitdiff_plain;h=74e64f736c6e1bde9360fbed2e0f5d6739820bec;p=gnus 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/ChangeLog b/lisp/ChangeLog index 05a9f12dc..0bd234e9b 100644 --- a/lisp/ChangeLog +++ b/lisp/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/nndraft.el b/lisp/nndraft.el index 006348869..5275468bb 100644 --- a/lisp/nndraft.el +++ b/lisp/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)