[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] feature/gnus-select 7c35954: Fix pushing marks on nnselect
From: |
Andrew G Cohen |
Subject: |
[Emacs-diffs] feature/gnus-select 7c35954: Fix pushing marks on nnselect exit |
Date: |
Sat, 6 May 2017 09:28:18 -0400 (EDT) |
branch: feature/gnus-select
commit 7c3595470d2521db849179a452f7feb5fc17b3f3
Author: Andrew G Cohen <address@hidden>
Commit: Andrew G Cohen <address@hidden>
Fix pushing marks on nnselect exit
* lisp/gnus/nnselect.el (nnselect-push-info): Deal with scoring.
Ensure that mark lists are properly compressed before saving. Add only
the group-specific articles to the `seen' lists.
---
lisp/gnus/nnselect.el | 34 +++++++++++++++++++++++++---------
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index 4497528..b8aa941 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -679,6 +679,7 @@ originating groups."
(select-reads (numbers-by-group
(gnus-uncompress-range
(gnus-info-read (gnus-get-info group)))))
+ (select-unseen (numbers-by-group gnus-newsgroup-unseen))
(gnus-newsgroup-active nil)
mark-list type-list)
(pcase-dolist (`(,mark . ,type) gnus-article-mark-lists)
@@ -705,18 +706,33 @@ originating groups."
artlist)
select-type)))
+ (when list
+ ;; Get rid of the entries of the articles that have the
+ ;; default score.
+ (when (and (eq type 'score)
+ gnus-save-score
+ list)
+ (let* ((arts list)
+ (prev (cons nil list))
+ (all prev))
+ (while arts
+ (if (or (not (consp (car arts)))
+ (= (cdar arts) gnus-summary-default-score))
+ (setcdr prev (cdr arts))
+ (setq prev arts))
+ (setq arts (cdr arts)))
+ (setq list (cdr all)))))
+
+ (when (or (eq (gnus-article-mark-to-type type) 'list)
+ (eq (gnus-article-mark-to-type type) 'range))
+ (setq list
+ (gnus-compress-sequence (sort list '<) t)))
+
;; When exiting the group, everything that's previously been
;; unseen is now seen.
(when (eq type 'seen)
- (setq list (gnus-range-add list gnus-newsgroup-unseen)))
-
- ;; (when (or (eq (gnus-article-mark-to-type type) 'list)
- ;; (eq (gnus-article-mark-to-type type) 'range))
- ;; (setq list (gnus-compress-sequence (sort list '<) t)))
-
- (when (eq (gnus-article-mark-to-type type) 'list)
- (setq list
- (gnus-compress-sequence (sort list '<) t)))
+ (setq list (gnus-range-add
+ list (cadr (assoc artgroup select-unseen)))))
(when (or list (eq type 'unexist))
(push (cons type list) newmarked))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] feature/gnus-select 7c35954: Fix pushing marks on nnselect exit,
Andrew G Cohen <=