Function: use-package-handler/:hook

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

Signature

(use-package-handler/:hook NAME KEYWORD ARGS REST STATE)

Documentation

Generate use-package custom keyword code.

Source Code

;; Defined in /usr/src/emacs/lisp/use-package/use-package-core.el.gz
(defun use-package-handler/:hook (name _keyword args rest state)
  "Generate use-package custom keyword code."
  (use-package-concat
   (use-package-process-keywords name rest state)
   (cl-mapcan
    #'(lambda (def)
        (let ((syms (car def))
              (fun (cdr def)))
          (when fun
            (mapcar
             #'(lambda (sym)
                 (let ((symname (symbol-name sym)))
                   (if (and (boundp sym)
                            ;; Mode variables are usually bound, but
                            ;; their hooks are named FOO-mode-hook.
                            (not (string-suffix-p "-mode" symname)))
                       `(add-hook (quote ,sym) (function ,fun))
                     `(add-hook
                       (quote ,(intern
                                (concat symname use-package-hook-name-suffix)))
                       (function ,fun)))))
             (use-package-hook-handler-normalize-mode-symbols syms)))))
    (use-package-normalize-commands args))))