1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-20 18:17:20 +00:00

Add new function auth-source-netrc-parse-all

* lisp/auth-source.el (auth-source-netrc-parse-all): New function
(bug#56976).
(auth-source-netrc-parse): Partially revert behaviour in previous
change -- require :allow-null to match.
This commit is contained in:
Lars Ingebrigtsen 2022-08-04 16:50:06 +02:00
parent f038695085
commit d92c11845a

View File

@ -909,10 +909,16 @@ Remove trailing \": \"."
(defun auth-source--aget (alist key) (defun auth-source--aget (alist key)
(cdr (assoc key alist))) (cdr (assoc key alist)))
(defun auth-source-netrc-parse-all (file)
"Parse FILE and return all entries."
(auth-source-netrc-parse :file file :allow-null t))
;; (auth-source-netrc-parse :file "~/.authinfo.gpg") ;; (auth-source-netrc-parse :file "~/.authinfo.gpg")
(cl-defun auth-source-netrc-parse (&key file max host user port require (cl-defun auth-source-netrc-parse (&key file max host user port require
&allow-other-keys) allow-null &allow-other-keys)
"Parse FILE and return a list of all entries in the file. "Parse FILE and return a list of matching entries in the file.
If ALLOW-NULL, allow nil values of HOST, USER and PORT to match.
Note that the MAX parameter is used so we can exit the parse early." Note that the MAX parameter is used so we can exit the parse early."
(if (listp file) (if (listp file)
;; We got already parsed contents; just return it. ;; We got already parsed contents; just return it.
@ -928,7 +934,7 @@ Note that the MAX parameter is used so we can exit the parse early."
(check (lambda (alist) (check (lambda (alist)
(and alist (and alist
(or (or
(null host) (and allow-null (null host))
(auth-source-search-collection (auth-source-search-collection
host host
(or (or
@ -936,7 +942,7 @@ Note that the MAX parameter is used so we can exit the parse early."
(auth-source--aget alist "host") (auth-source--aget alist "host")
t))) t)))
(or (or
(null user) (and allow-null (null user))
(auth-source-search-collection (auth-source-search-collection
user user
(or (or
@ -945,7 +951,7 @@ Note that the MAX parameter is used so we can exit the parse early."
(auth-source--aget alist "user") (auth-source--aget alist "user")
t))) t)))
(or (or
(null port) (and allow-null (null port))
(auth-source-search-collection (auth-source-search-collection
port port
(or (or