gnus-agent.el (gnus-agentize): Improve auto-agentizing logic.
authorSimon Josefsson <jas@extundo.com>
Mon, 29 Dec 2003 21:38:22 +0000 (21:38 +0000)
committerSimon Josefsson <jas@extundo.com>
Mon, 29 Dec 2003 21:38:22 +0000 (21:38 +0000)
Suggested by Steinar Bang <sb@dod.no>.

lisp/ChangeLog
lisp/gnus-agent.el

index 8be92f5..5a950c0 100644 (file)
@@ -1,3 +1,8 @@
+2003-12-29  Simon Josefsson  <jas@extundo.com>
+
+       * gnus-agent.el (gnus-agentize): Improve auto-agentizing logic.
+       Suggested by Steinar Bang <sb@dod.no>.
+
 2003-12-29  Kevin Greiner <kgreiner@xpediantsolutions.com>
        * gnus.el (gnus-server-to-method): Fixed bug in 2003-12-22
        check-in.
index 811d276..862af28 100644 (file)
@@ -605,19 +605,24 @@ minor mode in all Gnus buffers."
   (unless gnus-agent-send-mail-function
     (setq gnus-agent-send-mail-function
          (or message-send-mail-real-function
-              message-send-mail-function)
+             message-send-mail-function)
          message-send-mail-real-function 'gnus-agent-send-mail))
 
-  (unless gnus-agent-covered-methods
+  ;; If the servers file doesn't exist, auto-agentize some servers and
+  ;; save the servers file so this auto-agentizing isn't invoked
+  ;; again.
+  (unless (file-exists-p (nnheader-concat gnus-agent-directory "lib/servers"))
+    (gnus-message 3 "First time agent user, agentizing remote groups...")
     (mapc
      (lambda (server-or-method)
        (let ((method (gnus-server-to-method server-or-method)))
-         (when (memq (car method)
-                     gnus-agent-auto-agentize-methods)
-           (push (gnus-method-to-server method)
-                 gnus-agent-covered-methods)
-           (setq gnus-agent-method-p-cache nil))))
-     (cons gnus-select-method gnus-secondary-select-methods))))
+        (when (memq (car method)
+                    gnus-agent-auto-agentize-methods)
+          (push (gnus-method-to-server method)
+                gnus-agent-covered-methods)
+          (setq gnus-agent-method-p-cache nil))))
+     (cons gnus-select-method gnus-secondary-select-methods))
+    (gnus-agent-write-servers)))
 
 (defun gnus-agent-queue-setup (&optional group-name)
   "Make sure the queue group exists.