Function: auth-source-backends-parser-macos-keychain
auth-source-backends-parser-macos-keychain is a byte-compiled function
defined in auth-source.el.gz.
Signature
(auth-source-backends-parser-macos-keychain ENTRY)
Source Code
;; Defined in /usr/src/emacs/lisp/auth-source.el.gz
(defun auth-source-backends-parser-macos-keychain (entry)
;; take macos-keychain-{internet,generic}:XYZ and use it as macOS
;; Keychain "XYZ" matching any user, host, and protocol
(when (and (stringp entry) (string-match "^macos-keychain-internet:\\(.+\\)"
entry))
(setq entry `(:source (:macos-keychain-internet
,(match-string 1 entry)))))
(when (and (stringp entry) (string-match "^macos-keychain-generic:\\(.+\\)"
entry))
(setq entry `(:source (:macos-keychain-generic
,(match-string 1 entry)))))
;; take 'macos-keychain-internet or generic and use it as a Mac OS
;; Keychain collection matching any user, host, and protocol
(when (eq entry 'macos-keychain-internet)
(setq entry '(:source (:macos-keychain-internet default))))
(when (eq entry 'macos-keychain-generic)
(setq entry '(:source (:macos-keychain-generic default))))
(cond
;; the macOS Keychain
((and
(not (null (plist-get entry :source))) ; the source must not be nil
(listp (plist-get entry :source)) ; and it must be a list
(or
(plist-get (plist-get entry :source) :macos-keychain-generic)
(plist-get (plist-get entry :source) :macos-keychain-internet)))
(let* ((source-spec (plist-get entry :source))
(keychain-generic (plist-get source-spec :macos-keychain-generic))
(keychain-type (if keychain-generic
'macos-keychain-generic
'macos-keychain-internet))
(source (plist-get source-spec (if keychain-generic
:macos-keychain-generic
:macos-keychain-internet))))
(when (symbolp source)
(setq source (symbol-name source)))
(auth-source-backend
:source source
:type keychain-type
:search-function #'auth-source-macos-keychain-search
:create-function #'auth-source-macos-keychain-create)))))