From: Lars Ingebrigtsen Date: Fri, 18 Feb 2011 23:15:24 +0000 (+0000) Subject: auth-source.el (auth-source-search): If we don't find a match, don't bug out on non... X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~811 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0d873e93b77d39afd834e80c9f05c3aeeadacee8;p=emacs.git auth-source.el (auth-source-search): If we don't find a match, don't bug out on non-bound variables. (auth-source-search): Only ask a single backend to create the credentials. --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index b40c6b7d60f..af25ecae6ba 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -2,6 +2,10 @@ * auth-source.el (auth-source-search): Don't try to create credentials if the caller doesn't want that. + (auth-source-search): If we don't find a match, don't bug out on + non-bound variables. + (auth-source-search): Only ask a single backend to create the + credentials. * nnimap.el (nnimap-log-command): Add a newline to the inhibited logging. diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el index 4fdf521b1a9..c2f57abb917 100644 --- a/lisp/gnus/auth-source.el +++ b/lisp/gnus/auth-source.el @@ -544,14 +544,16 @@ must call it to obtain the actual value." ;; create the entries. (when (and create (not matches)) - (let ((match (apply - (slot-value backend 'search-function) - :backend backend - :create create - :delete delete - spec))) - (when match - (push (list backend match) matches)))) + (dolist (backend filtered-backends) + (unless matches + (let ((match (apply + (slot-value backend 'search-function) + :backend backend + :create create + :delete delete + spec))) + (when match + (push (list backend match) matches)))))) (setq backend (caar matches) found-here (cadar matches))