]> git.eshelyaron.com Git - emacs.git/commitdiff
Expand use-package-core as a macro, to avoid load time dependency
authorJohn Wiegley <johnw@newartisans.com>
Mon, 4 Dec 2017 19:32:27 +0000 (11:32 -0800)
committerJohn Wiegley <johnw@newartisans.com>
Mon, 4 Dec 2017 19:32:27 +0000 (11:32 -0800)
up-core.el

index d1732c3b2a27aa3d803f14a4bbb34cde29a8c083..b4d86971b9bde9e1837cb747a4f2db677b9043cd 100644 (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)