Function: use-package-normalize/:hook

use-package-normalize/:hook is a byte-compiled function defined in use-package-core.el.gz.

Signature

(use-package-normalize/:hook NAME KEYWORD ARGS)

Source Code

;; Defined in /usr/src/emacs/lisp/use-package/use-package-core.el.gz
;;;; :hook

(defun use-package-normalize/:hook (name keyword args)
  (use-package-as-one (symbol-name keyword) args
    #'(lambda (label arg)
        (unless (or (use-package-non-nil-symbolp arg) (consp arg))
          (use-package-error
           (concat label " a <symbol> or (<symbol or list of symbols> . <symbol or function>)"
                   " or list of these")))
        (use-package-normalize-pairs
         #'(lambda (k)
             (or (use-package-non-nil-symbolp k)
                 (and k (let ((every t))
                          (while (and every k)
                            (if (and (consp k)
                                     (use-package-non-nil-symbolp (car k)))
                                (setq k (cdr k))
                              (setq every nil)))
                          every))))
         #'use-package-recognize-function
         (if (string-suffix-p "-mode" (symbol-name name))
             name
           (intern (concat (symbol-name name) "-mode")))
         label arg))))