summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-draft.el
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-06-30 22:20:09 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-06-30 22:20:09 -0700
commitd0672f86c94e9dbf52e783e2bc4162b9cf3b5f44 (patch)
treee0e9fc7f479bce996d52c4356052480b3a088c56 /lisp/gnus/gnus-draft.el
parentb9444d97feca73cb2a90559241bc79584692da54 (diff)
parentbbc6b304672eb229e6750692a1b4e83277ded115 (diff)
downloademacs-d0672f86c94e9dbf52e783e2bc4162b9cf3b5f44.tar.gz
emacs-d0672f86c94e9dbf52e783e2bc4162b9cf3b5f44.tar.bz2
emacs-d0672f86c94e9dbf52e783e2bc4162b9cf3b5f44.zip
Merge from trunk.
Diffstat (limited to 'lisp/gnus/gnus-draft.el')
-rw-r--r--lisp/gnus/gnus-draft.el16
1 files changed, 12 insertions, 4 deletions
diff --git a/lisp/gnus/gnus-draft.el b/lisp/gnus/gnus-draft.el
index 1709b1c4a05..a2a4cd3e07d 100644
--- a/lisp/gnus/gnus-draft.el
+++ b/lisp/gnus/gnus-draft.el
@@ -325,10 +325,18 @@ If DONT-POP is nil, display the buffer after setting it up."
(error "The draft %s is under edit" file)))))
(defun gnus-draft-clear-marks ()
- (setq gnus-newsgroup-reads nil
- gnus-newsgroup-marked nil
- gnus-newsgroup-unreads
- (gnus-uncompress-range (gnus-active gnus-newsgroup-name))))
+ (setq gnus-newsgroup-marked nil
+ gnus-newsgroup-unreads (gnus-uncompress-range
+ (gnus-active gnus-newsgroup-name)))
+ ;; Mark articles except for deleted ones as unread.
+ (let (rest)
+ (dolist (article gnus-newsgroup-reads)
+ (when (and (consp article)
+ (eq (cdr article) gnus-canceled-mark))
+ (push article rest)
+ (setq gnus-newsgroup-unreads
+ (delq (car article) gnus-newsgroup-unreads))))
+ (setq gnus-newsgroup-reads (nreverse rest))))
(provide 'gnus-draft)