Function: use-package-normalize-pairs

use-package-normalize-pairs is a byte-compiled function defined in use-package-core.el.gz.

Signature

(use-package-normalize-pairs KEY-PRED VAL-PRED NAME LABEL ARG &optional RECURSED)

Documentation

Normalize a list of pairs.

KEY-PRED and VAL-PRED are predicates recognizing valid keys and values, respectively. If RECURSED is non-nil, recurse into sublists.

Source Code

;; Defined in /usr/src/emacs/lisp/use-package/use-package-core.el.gz
(defun use-package-normalize-pairs
    (key-pred val-pred name label arg &optional recursed)
  "Normalize a list of pairs.
KEY-PRED and VAL-PRED are predicates recognizing valid keys and
values, respectively.
If RECURSED is non-nil, recurse into sublists."
  (cond
   ((funcall key-pred arg)
    (list (cons arg (use-package-as-symbol name))))
   ((use-package-is-pair arg key-pred val-pred)
    (list arg))
   ((and (not recursed) (listp arg) (listp (cdr arg)))
    (let (last-item)
      (mapcar
       #'(lambda (x)
           (prog1
               (let ((ret (use-package-normalize-pairs
                           key-pred val-pred name label x t)))
                 (if (and (listp ret)
                          (not (keywordp last-item)))
                     (car ret)
                   ret))
             (setq last-item x))) arg)))
   (t arg)))