Function: erc--auth-source-determine-params-merge
erc--auth-source-determine-params-merge is a byte-compiled function
defined in erc.el.gz.
Signature
(erc--auth-source-determine-params-merge &rest PLIST)
Documentation
Return a plist of merged keyword args to pass to auth-source-search.
Combine items in PLIST with others derived from the current connection
context, but prioritize the former. For keys not present in PLIST,
favor a network ID over an announced server unless erc--target is a
local channel. And treat the dialed server address as a fallback for
the announced name in both cases.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
(defun erc--auth-source-determine-params-merge (&rest plist)
"Return a plist of merged keyword args to pass to `auth-source-search'.
Combine items in PLIST with others derived from the current connection
context, but prioritize the former. For keys not present in PLIST,
favor a network ID over an announced server unless `erc--target' is a
local channel. And treat the dialed server address as a fallback for
the announced name in both cases."
(let ((defaults (erc--auth-source-determine-params-defaults)))
`(,@(cl-loop for (key value) on plist by #'cddr
for default = (assq key defaults)
do (when default (setq defaults (delq default defaults)))
append `(,key ,(delete-dups
`(,@(if (consp value) value (list value))
,@(cdr default)))))
,@(cl-loop for (k . v) in defaults append (list k v)))))