diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2011-02-18 23:15:24 +0000 |
---|---|---|
committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2011-02-18 23:15:24 +0000 |
commit | 0d873e93b77d39afd834e80c9f05c3aeeadacee8 (patch) | |
tree | 6e312ec1982dd7462b5fe3cd1d4207efc75352e3 /lisp | |
parent | abd20d91abead79a6a40be445b5926515fbfd5a8 (diff) | |
download | emacs-0d873e93b77d39afd834e80c9f05c3aeeadacee8.tar.gz |
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.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/gnus/ChangeLog | 4 | ||||
-rw-r--r-- | lisp/gnus/auth-source.el | 18 |
2 files changed, 14 insertions, 8 deletions
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)) |