Function: use-package-handler/:ensure

use-package-handler/:ensure is an autoloaded and byte-compiled function defined in use-package-ensure.el.gz.

Signature

(use-package-handler/:ensure NAME KEYWORD ENSURE REST STATE)

Source Code

;; Defined in /usr/src/emacs/lisp/use-package/use-package-ensure.el.gz
;;;###autoload
(defun use-package-handler/:ensure (name _keyword ensure rest state)
  (let* ((body (use-package-process-keywords name rest state)))
    ;; We want to avoid installing packages when the `use-package' macro is
    ;; being macro-expanded by elisp completion (see `lisp--local-variables'),
    ;; but still install packages when byte-compiling, to avoid requiring
    ;; `package' at runtime.
    (if (bound-and-true-p byte-compile-current-file)
        ;; Eval when byte-compiling,
        (funcall use-package-ensure-function name ensure state)
      ;;  or else wait until runtime.
      (push `(,use-package-ensure-function ',name ',ensure ',state)
            body))
    body))