Cleanups related to "unexist" tracking
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 11 Feb 2012 18:20:12 +0000 (19:20 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 11 Feb 2012 18:20:12 +0000 (19:20 +0100)
* gnus.el (gnus-article-mark-lists): Add `unexist' to the list of
marks.
(gnus-article-special-mark-lists): Put the `unexist' in the special
marks list instead.

lisp/ChangeLog
lisp/gnus-sum.el
lisp/gnus.el

index 99eff7e..1abae71 100644 (file)
@@ -1,5 +1,8 @@
 2012-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
 
+       * gnus-sum.el (gnus-adjust-marked-articles): Add to
+       `gnus-newsgroup-unexist'.
+
        * gnus.el (gnus-article-mark-lists): Add `unexist' to the list of
        marks.
        (gnus-article-special-mark-lists): Put the `unexist' in the special
index 8c5f3ee..17bd7e1 100644 (file)
@@ -1529,6 +1529,9 @@ This list will always be a subset of gnus-newsgroup-undownloaded.")
 (defvar gnus-newsgroup-seen nil
   "Range of seen articles in the current newsgroup.")
 
+(defvar gnus-newsgroup-unexist nil
+  "Range of unexistent articles in the current newsgroup.")
+
 (defvar gnus-newsgroup-articles nil
   "List of articles in the current newsgroup.")
 
@@ -6023,7 +6026,9 @@ If SELECT-ARTICLES, only select those articles from GROUP."
                          (and (numberp (car articles))
                               (> min (car articles)))))
            (pop articles))
-         (set var articles))))))))
+         (set var articles))
+        ((eq mark 'unexist)
+         (set var (cdr marks)))))))))
 
 (defun gnus-update-missing-marks (missing)
   "Go through the list of MISSING articles and remove them from the mark lists."
index 15cc321..240b590 100644 (file)
@@ -2620,7 +2620,7 @@ a string, be sure to use a valid format, see RFC 2616."
     (scored . score) (saved . save)
     (cached . cache) (downloadable . download)
     (unsendable . unsend) (forwarded . forward)
-    (seen . seen)))
+    (seen . seen) (unexist . unexist)))
 
 (defconst gnus-article-special-mark-lists
   '((seen range)
@@ -2639,7 +2639,7 @@ a string, be sure to use a valid format, see RFC 2616."
 ;; `score' is not a proper mark
 ;; `bookmark': don't propagated it, or fix the bug in update-mark.
 (defconst gnus-article-unpropagated-mark-lists
-  '(seen cache download unsend score bookmark)
+  '(seen cache download unsend score bookmark unexist)
   "Marks that shouldn't be propagated to back ends.
 Typical marks are those that make no sense in a standalone back end,
 such as a mark that says whether an article is stored in the cache