X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fauth-source.el;h=64d244beaf2f58bf2421901e90114fb29bb3c048;hb=e5ad86dea7f6657896a5f3a75f578bb5668244fd;hp=239ebeddf13c1b7221557b7eea810dd4378745c7;hpb=747da72a4e98056d9da1881012390a788ffdc0bd;p=gnus diff --git a/lisp/auth-source.el b/lisp/auth-source.el index 239ebeddf..64d244bea 100644 --- a/lisp/auth-source.el +++ b/lisp/auth-source.el @@ -552,15 +552,17 @@ must call it to obtain the actual value." (push (list backend match) matches))))) ;; If we didn't find anything, then we allow the backend(s) to ;; create the entries. - (unless matches - (let ((match (apply - (slot-value backend 'search-function) - :backend backend - :create create - :delete delete - spec))) - (when match - (push (list backend match) matches)))) + (when (and create + (not matches)) + (dolist (backend filtered-backends) + (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))