emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/gnus/gnus.el,v


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/gnus/gnus.el,v
Date: Thu, 06 Dec 2007 00:21:06 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Miles Bader <miles>     07/12/06 00:21:02

Index: lisp/gnus/gnus.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/gnus.el,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -b -r1.67 -r1.68
--- lisp/gnus/gnus.el   4 Dec 2007 04:04:05 -0000       1.67
+++ lisp/gnus/gnus.el   6 Dec 2007 00:20:59 -0000       1.68
@@ -3521,15 +3521,16 @@
                                   (nth 1 method))))
       method)))
 
-(defsubst gnus-method-to-server (method)
+(defsubst gnus-method-to-server (method &optional nocache)
   (catch 'server-name
     (setq method (or method gnus-select-method))
 
     ;; Perhaps it is already in the cache.
+    (unless nocache
     (mapc (lambda (name-method)
            (if (equal (cdr name-method) method)
                (throw 'server-name (car name-method))))
-         gnus-server-method-cache)
+           gnus-server-method-cache))
 
     (mapc
      (lambda (server-alist)
@@ -4254,14 +4255,16 @@
 
 ;;; Agent functions
 
-(defun gnus-agent-method-p (method)
+(defun gnus-agent-method-p (method-or-server)
   "Say whether METHOD is covered by the agent."
-  (or (eq (car gnus-agent-method-p-cache) method)
+  (or (eq (car gnus-agent-method-p-cache) method-or-server)
+      (let* ((method (if (stringp method-or-server)
+                        (gnus-server-to-method method-or-server)
+                      method-or-server))
+            (server (gnus-method-to-server method t)))
       (setq gnus-agent-method-p-cache
-           (cons method
-                 (member (if (stringp method)
-                             method
-                           (gnus-method-to-server method)) 
gnus-agent-covered-methods))))
+             (cons method-or-server
+                   (member server gnus-agent-covered-methods)))))
   (cdr gnus-agent-method-p-cache))
 
 (defun gnus-online (method)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]