[Top][All Lists]
[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)