Expand use-package-core as a macro, to avoid load time dependency

This commit is contained in:
John Wiegley 2017-12-04 11:32:27 -08:00
parent 01c3d75606
commit e36d208c69

View file

@ -1348,24 +1348,24 @@ no keyword implies `:all'."
;;; The main macro
;;
(defun use-package-core (name args)
(let* ((args* (use-package-normalize-keywords name args))
(use-package--form
(concat "\n\n"
(pp-to-string `(use-package ,name ,@args))
"\n -->\n\n"
(pp-to-string `(use-package ,name ,@args*))
"\n ==>\n\n"
(pp-to-string
(macroexp-progn
(let ((use-package-verbose 'errors)
(use-package-expand-minimally t))
(use-package-process-keywords name args*
(and (plist-get args* :demand)
(list :demand t)))))))))
(use-package-process-keywords name args*
(and (plist-get args* :demand)
(list :demand t)))))
(defmacro use-package-core (name args)
`(let* ((args* (use-package-normalize-keywords ,name ,args))
(use-package--form
(concat "\n\n"
(pp-to-string `(use-package ,name ,@,args))
"\n -->\n\n"
(pp-to-string `(use-package ,name ,@args*))
"\n ==>\n\n"
(pp-to-string
(macroexp-progn
(let ((use-package-verbose 'errors)
(use-package-expand-minimally t))
(use-package-process-keywords name args*
(and (plist-get args* :demand)
(list :demand t)))))))))
(use-package-process-keywords name args*
(and (plist-get args* :demand)
(list :demand t)))))
;;;###autoload
(defmacro use-package (name &rest args)