]> git.eshelyaron.com Git - emacs.git/commitdiff
Revert "Reduce some code duplication"
authorJohn Wiegley <johnw@newartisans.com>
Mon, 4 Dec 2017 18:29:27 +0000 (10:29 -0800)
committerJohn Wiegley <johnw@newartisans.com>
Mon, 4 Dec 2017 18:29:27 +0000 (10:29 -0800)
This reverts commit 1e560c514004747062276ca59ddf425a3edc44cd.

up-core.el
up-ensure.el

index 6994c632ec0b674db2421e0183f35f7348caec5d..6fc8ae5a7ef950a29c73861451e98c2005c2f2b8 100644 (file)
@@ -273,16 +273,6 @@ Must be set before loading use-package."
   "Report MSG as an error, so the user knows it came from this package."
   (error "use-package: %s" msg))
 
-(defun use-package-hush (f body)
-  (condition-case-unless-debug err
-      (macroexp-progn body)
-    (error
-     (if (stringp f)
-         (ignore (display-warning 'use-package
-                                  (format f (error-message-string err))
-                                  :error))
-       (funcall f err)))))
-
 (defsubst use-package-concat (&rest elems)
   "Delete all empty lists from ELEMS (nil or (list nil)), and append them."
   (apply #'append (delete nil (delete (list nil) elems))))
@@ -1307,6 +1297,11 @@ no keyword implies `:all'."
 ;;; The main macro
 ;;
 
+(defsubst use-package-hush (context body)
+  `((condition-case-unless-debug err
+        ,(macroexp-progn body)
+      (error (funcall ,context err)))))
+
 (defun use-package-core (name args)
   (let* ((context (gensym "use-package--warning"))
          (args* (use-package-normalize-keywords name args))
@@ -1409,9 +1404,14 @@ this file.  Usage:
     (macroexp-progn
      (if (eq use-package-verbose 'errors)
          (use-package-core name args)
-       (use-package-hush
-        (format "Failed to parse package %s: %%s" name)
-        '((use-package-core name args)))))))
+       (condition-case-unless-debug err
+           (use-package-core name args)
+         (error
+          (ignore
+           (display-warning
+            'use-package
+            (format "Failed to parse package %s: %s"
+                    name (error-message-string err)) :error))))))))
 
 (put 'use-package 'lisp-indent-function 'defun)
 
index cd6a8533992e3e0c3f67d0245079d6bdfad8ac23..fa19e1d5a8e0136341f3a9d940bbfaff8d501df9 100644 (file)
@@ -143,22 +143,31 @@ manually updated package."
                      "(an unquoted symbol name)")))))))
 
 (defun use-package-ensure-elpa (name ensure state &optional no-refresh)
-  (let ((package (or (and (eq ensure t) (use-package-as-symbol name))
-                     ensure)))
+  (let ((package
+         (or (and (eq ensure t) (use-package-as-symbol name))
+             ensure)))
     (when package
       (require 'package)
       (unless (package-installed-p package)
-        (use-package-hush
-         (format "Failed to install %s: %%s" name)
-         '((when (assoc package (bound-and-true-p package-pinned-packages))
-             (package-read-all-archive-contents))
-           (if (assoc package package-archive-contents)
-               (package-install package)
-             (package-refresh-contents)
-             (when (assoc package (bound-and-true-p package-pinned-packages))
-               (package-read-all-archive-contents))
-             (package-install package))
-           t))))))
+        (condition-case-unless-debug err
+            (progn
+              (when (assoc package (bound-and-true-p
+                                    package-pinned-packages))
+                (package-read-all-archive-contents))
+              (if (assoc package package-archive-contents)
+                  (package-install package)
+                (package-refresh-contents)
+                (when (assoc package (bound-and-true-p
+                                      package-pinned-packages))
+                  (package-read-all-archive-contents))
+                (package-install package))
+              t)
+          (error
+           (ignore
+            (display-warning 'use-package
+                             (format "Failed to install %s: %s"
+                                     name (error-message-string err))
+                             :error))))))))
 
 (defun use-package-handler/:ensure (name keyword ensure rest state)
   (let* ((body (use-package-process-keywords name rest state)))