summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Magne Ingebrigtsen <larsi@gnus.org>2011-03-15 22:57:48 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2011-03-15 22:57:48 +0000
commit4c7468f6446a25c4abbbacf495d45e30103f26b7 (patch)
tree03781ccea68ec148280ea307ef8cf4fa3999b0a4
parent448e0f792ba882b1876d2715865c870e1d24d505 (diff)
downloademacs-4c7468f6446a25c4abbbacf495d45e30103f26b7.tar.gz
emacs-4c7468f6446a25c4abbbacf495d45e30103f26b7.tar.bz2
emacs-4c7468f6446a25c4abbbacf495d45e30103f26b7.zip
gnus-sum.el (gnus-articles-to-read): Revert back to old behaviour if we're selecting a group with unread articles.
-rw-r--r--lisp/gnus/ChangeLog3
-rw-r--r--lisp/gnus/gnus-sum.el27
2 files changed, 21 insertions, 9 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 1b4cd186951..27fdc563db9 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,5 +1,8 @@
2011-03-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
+ * gnus-sum.el (gnus-articles-to-read): Revert back to old behaviour if
+ we're selecting a group with unread articles.
+
* nnimap.el (nnimap-open-connection-1): Allow `network-only', too.
* gssapi.el: New file separated out from imap.el to provide a general
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 0fa1d5979c7..385460378b1 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -5798,7 +5798,8 @@ If SELECT-ARTICLES, only select those articles from GROUP."
(defun gnus-articles-to-read (group &optional read-all)
"Find out what articles the user wants to read."
- (let* ((articles
+ (let* ((only-read-p t)
+ (articles
;; Select all articles if `read-all' is non-nil, or if there
;; are no unread articles.
(if (or read-all
@@ -5822,6 +5823,7 @@ If SELECT-ARTICLES, only select those articles from GROUP."
(gnus-uncompress-range (gnus-active group)))
(gnus-cache-articles-in-group group))
;; Select only the "normal" subset of articles.
+ (setq only-read-p nil)
(gnus-sorted-nunion
(gnus-sorted-union gnus-newsgroup-dormant gnus-newsgroup-marked)
gnus-newsgroup-unreads)))
@@ -5845,18 +5847,25 @@ If SELECT-ARTICLES, only select those articles from GROUP."
(let* ((cursor-in-echo-area nil)
(initial (gnus-parameter-large-newsgroup-initial
gnus-newsgroup-name))
+ (default (if only-read-p
+ (or initial gnus-large-newsgroup)
+ number))
(input
(read-string
- (format
- "How many articles from %s (available %d, default %d): "
- (gnus-group-decoded-name
- (gnus-group-real-name gnus-newsgroup-name))
- number
- (or initial gnus-large-newsgroup))
+ (if only-read-p
+ (format
+ "How many articles from %s (available %d, default %d): "
+ (gnus-group-decoded-name
+ (gnus-group-real-name gnus-newsgroup-name))
+ number default)
+ (format
+ "How many articles from %s (%d available): "
+ (gnus-group-decoded-name
+ (gnus-group-real-name gnus-newsgroup-name))
+ default))
nil
nil
- (number-to-string
- (or initial gnus-large-newsgroup)))))
+ (number-to-string default))))
(if (string-match "^[ \t]*$" input) number input)))
((and (> scored marked) (< scored number)
(> (- scored number) 20))