Function: use-package-normalize-plist
use-package-normalize-plist is a byte-compiled function defined in
use-package-core.el.gz.
Signature
(use-package-normalize-plist NAME INPUT &optional PLIST MERGE-FUNCTION)
Documentation
Given a pseudo-plist, normalize it to a regular plist.
The normalized key/value pairs from input are added to PLIST, extending any keys already present.
Source Code
;; Defined in /usr/src/emacs/lisp/use-package/use-package-core.el.gz
(defun use-package-normalize-plist (name input &optional plist merge-function)
"Given a pseudo-plist, normalize it to a regular plist.
The normalized key/value pairs from input are added to PLIST,
extending any keys already present."
(if (null input)
plist
(let* ((keyword (car input))
(xs (use-package-split-list #'keywordp (cdr input)))
(args (car xs))
(tail (cdr xs))
(normalizer
(intern-soft (concat "use-package-normalize/"
(symbol-name keyword))))
(arg (and (functionp normalizer)
(funcall normalizer name keyword args)))
(error-string (format "Unrecognized keyword: %s" keyword)))
(if (memq keyword use-package-keywords)
(progn
(setq plist (use-package-normalize-plist
name tail plist merge-function))
(plist-put plist keyword
(if (plist-member plist keyword)
(funcall merge-function keyword arg
(plist-get plist keyword))
arg)))
(if use-package-ignore-unknown-keywords
(progn
(display-warning 'use-package error-string)
(use-package-normalize-plist
name tail plist merge-function))
(use-package-error error-string))))))