>From 34961a0cb5220aefa3a432463d18c15a87bc61ba Mon Sep 17 00:00:00 2001 From: Magnus Henoch Date: Fri, 2 Nov 2018 21:51:59 +0000 Subject: [PATCH 01/12] Fix auth-source-pass to return nil if no entry found * lisp/auth-source-pass.el (auth-source-pass-search): If there is no matching entry, auth-source-pass-search should return nil, not (nil). This lets auth-source fall back to other backends in the auth-sources list. * test/lisp/auth-source-pass-tests.el: Add corresponding test. --- lisp/auth-source-pass.el | 3 ++- test/lisp/auth-source-pass-tests.el | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el index 4283ed0392..c82c90167a 100644 --- a/lisp/auth-source-pass.el +++ b/lisp/auth-source-pass.el @@ -56,7 +56,8 @@ ;; Do not build a result, as none will match when HOST is nil nil) (t - (list (auth-source-pass--build-result host port user))))) + (when-let ((result (auth-source-pass--build-result host port user))) + (list result))))) (defun auth-source-pass--build-result (host port user) "Build auth-source-pass entry matching HOST, PORT and USER." diff --git a/test/lisp/auth-source-pass-tests.el b/test/lisp/auth-source-pass-tests.el index d1e486ad6b..ab9ef92c14 100644 --- a/test/lisp/auth-source-pass-tests.el +++ b/test/lisp/auth-source-pass-tests.el @@ -83,6 +83,11 @@ auth-source-pass--with-store ("bar")) (should-not (auth-source-pass-search :host nil)))) +(ert-deftest auth-source-pass-not-found () + (auth-source-pass--with-store '(("foo" ("port" . "foo-port") ("host" . "foo-user")) + ("bar")) + (should-not (auth-source-pass-search :host "baz")))) + (ert-deftest auth-source-pass-find-match-matching-at-entry-name () (auth-source-pass--with-store '(("foo")) -- 2.21.0