]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a new variable to control Gnus Agent caching
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 16 Oct 2020 05:21:05 +0000 (07:21 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 16 Oct 2020 05:21:05 +0000 (07:21 +0200)
* doc/misc/gnus.texi (Agent Variables): Document it.

* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Ditto.

* lisp/gnus/gnus-async.el (gnus-async-article-callback): Use it.

* lisp/gnus/gnus.el (gnus-agent-eagerly-store-articles): New variable.

Includes work from Madhu <enometh@meer.net>.

doc/misc/gnus.texi
etc/NEWS
lisp/gnus/gnus-art.el
lisp/gnus/gnus-async.el
lisp/gnus/gnus.el

index f356dfe4d05e2e698748dd2eca443387f841eebf..3f893e93c8c081d29f5b65403f065df5aca8d213 100644 (file)
@@ -19489,6 +19489,11 @@ Variable to control whether use the locally stored @acronym{NOV} and
 articles when plugged, e.g., essentially using the Agent as a cache.
 The default is non-@code{nil}, which means to use the Agent as a cache.
 
+@item gnus-agent-eagerly-store-articles
+@vindex gnus-agent-eagerly-store-articles
+If non-@code{nil} (which is the default), store all articles read in
+agentized groups in the Agent cache.
+
 @item gnus-agent-go-online
 @vindex gnus-agent-go-online
 If @code{gnus-agent-go-online} is @code{nil}, the Agent will never
index 2a75e13effe751a180d653062615005290a7a03f..1838b6b38a78cf2e1852f48d97f66a45b730a870 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -434,6 +434,11 @@ tags to be considered as well.
 
 ** Gnus
 
++++
+*** New user option 'gnus-agent-eagerly-store-articles'.
+If non-nil (which is the default), the Gnus Agent will store all read
+articles in the Agent cache.
+
 +++
 *** New user option 'gnus-global-groups'.
 Gnus handles private groups differently from public (i.e., NNTP-like)
index 2d9d5ece01a0bf9855fb30c335b8c5ac4823003a..2e9d85e39d861950068c09c027fec9b19902b54a 100644 (file)
@@ -7094,6 +7094,7 @@ If given a prefix, show the hidden text instead."
                      (gnus-backlog-enter-article
                       group article (current-buffer)))
                    (when (and gnus-agent
+                              gnus-agent-eagerly-store-articles
                               (gnus-agent-group-covered-p group))
                      (gnus-agent-store-article article group)))
                  (setq result 'article))
index e3e81c8bbced94238ef6f7ec47cd4002956554b0..9b08e6a0ef8d0f423f0ff03a9894686d4af316b0 100644 (file)
@@ -227,6 +227,7 @@ that was fetched."
          (narrow-to-region mark (point-max))
          ;; Put the articles into the agent, if they aren't already.
          (when (and gnus-agent
+                    gnus-agent-eagerly-store-articles
                     (gnus-agent-group-covered-p group))
            (save-restriction
              (narrow-to-region mark (point-max))
index cb534260a65e6d82f0f20d63728e6b3b3f386f1c..c1cfddc87b30c0f8a76d45054a06c88aa00e7172 100644 (file)
@@ -2285,6 +2285,14 @@ a string, be sure to use a valid format, see RFC 2616."
     (gnus-message 1 "Edit your init file to make this change permanent.")
     (sit-for 2)))
 
+(defcustom gnus-agent-eagerly-store-articles t
+  "If non-nil, cache articles eagerly.
+
+When using the Gnus Agent and reading an agentized newsgroup,
+automatically cache the article in the agent cache."
+  :type 'boolean
+  :version "28.1")
+
 \f
 ;;; Internal variables