]> git.eshelyaron.com Git - emacs.git/commitdiff
Make the "All" setting for large-newsgroup-initial in Gnus work
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 2 Aug 2020 12:32:19 +0000 (14:32 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 2 Aug 2020 12:32:19 +0000 (14:32 +0200)
* lisp/gnus/gnus-sum.el (gnus-articles-to-read): Use it.
(gnus-summary-insert-old-articles): Ditto.

* lisp/gnus/gnus.el (large-newsgroup-initial): Make the "All"
setting work by using a special symbol, instead of nil which is
indistinguishable from not being present (bug#38466).

etc/NEWS
lisp/gnus/gnus-sum.el
lisp/gnus/gnus.el

index fab2d85e8da5a13a6fdcc18fffc643001833c00b..492d01feed0b7f764cba4445b76177dc95673d4c 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -207,6 +207,12 @@ Bookmark locations can refer to VC directory buffers.
 
 ** Gnus
 
+---
+*** The value of "all" in the 'large-newsgroup-initial' group parameter changes.
+It was previously nil, which didn't work, because nil is
+indistinguishable from not being present.  The new value for "all" is
+the symbol 'all'.
+
 +++
 *** The name of dependent Gnus sessions has changed from "slave" to "child".
 The names of the commands 'gnus-slave', 'gnus-slave-no-server' and
index c1216a0cc24495e653279f8a68220a035a0adfc8..719498a033716887391863652a8f645f72590f0f 100644 (file)
@@ -5938,7 +5938,9 @@ If SELECT-ARTICLES, only select those articles from GROUP."
                         (initial (gnus-parameter-large-newsgroup-initial
                                   gnus-newsgroup-name))
                         (default (if only-read-p
-                                     (or initial gnus-large-newsgroup)
+                                     (if (eq initial 'all)
+                                         nil
+                                       (or initial gnus-large-newsgroup))
                                    number))
                         (input
                          (read-string
@@ -13165,10 +13167,13 @@ If ALL is a number, fetch this number of articles."
         (t
          (when (and (numberp gnus-large-newsgroup)
                   (> len gnus-large-newsgroup))
-             (let* ((cursor-in-echo-area nil)
-                    (initial (gnus-parameter-large-newsgroup-initial
-                              gnus-newsgroup-name))
-                    (input
+             (let ((cursor-in-echo-area nil)
+                   (initial (gnus-parameter-large-newsgroup-initial
+                             gnus-newsgroup-name))
+                   input)
+               (when (eq initial 'all)
+                 (setq initial len))
+               (setq input
                      (read-string
                       (format
                        "How many articles from %s (%s %d): "
@@ -13177,7 +13182,7 @@ If ALL is a number, fetch this number of articles."
                        len)
                       nil nil
                       (and initial
-                           (number-to-string initial)))))
+                           (number-to-string initial))))
                (unless (string-match "^[ \t]*$" input)
                  (setq all (string-to-number input))
                  (if (< all len)
index 69f2bb27993e6c11ab6e7bb230aaa5e7e045d578..68e2ce772c24f443d26ea80107966f04298082da 100644 (file)
@@ -1591,7 +1591,7 @@ posting an article."
  "Alist of group regexps and its initial input of the number of articles."
  :variable-group gnus-group-parameter
  :parameter-type '(choice :tag "Initial Input for Large Newsgroup"
-                         (const :tag "All" nil)
+                         (const :tag "All" 'all)
                          (integer))
  :parameter-document "\