(gnus-articles-to-read): Revert back to old behaviour if we're selecting a group...
authorLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Tue, 15 Mar 2011 22:51:16 +0000 (23:51 +0100)
committerLars Magne Ingebrigtsen <larsi@quimbies.gnus.org>
Tue, 15 Mar 2011 22:51:16 +0000 (23:51 +0100)
lisp/ChangeLog
lisp/gnus-sum.el

index 3a2a422..56c4bde 100644 (file)
@@ -1,5 +1,8 @@
 2011-03-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 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
        * nnimap.el (nnimap-open-connection-1): Allow `network-only', too.
 
        * gssapi.el: New file separated out from imap.el to provide a general
index 0fa1d59..3854603 100644 (file)
@@ -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."
 
 (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
          ;; 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.
                 (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)))
            (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))
                  (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
                         (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
                           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))
                    (if (string-match "^[ \t]*$" input) number input)))
                 ((and (> scored marked) (< scored number)
                       (> (- scored number) 20))