From 49b4b39dfea4067c32ba26fd29655255d9a0c52e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 18 Apr 2017 05:45:24 -0400 Subject: [PATCH] autoload/packages: refactor + improve output consistency --- core/autoload/packages.el | 36 ++++++++++++++++-------------------- core/core-packages.el | 5 +++-- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/core/autoload/packages.el b/core/autoload/packages.el index cb54030b1..d8b16ebda 100644 --- a/core/autoload/packages.el +++ b/core/autoload/packages.el @@ -154,7 +154,7 @@ example; the package name can be omitted)." (doom-refresh-packages) (doom-initialize-packages) (when (package-installed-p name) - (error "%s is already installed, skipping" name)) + (user-error "%s is already installed, skipping" name)) (let ((inhibit-message (not doom-debug-mode)) (recipe (plist-get plist :recipe))) (cond (recipe (quelpa recipe)) @@ -167,7 +167,7 @@ example; the package name can be omitted)." appropriate." (doom-initialize) (unless (package-installed-p name) - (error "%s isn't installed" name)) + (user-error "%s isn't installed" name)) (when (doom-package-outdated-p name) (let ((inhibit-message (not doom-debug-mode)) quelpa-modified-p) @@ -191,7 +191,7 @@ appropriate." "Uninstalls package NAME if it exists, and clears it from `quelpa-cache'." (doom-initialize) (unless (package-installed-p name) - (error "%s isn't installed" name)) + (user-error "%s isn't installed" name)) (let ((desc (cadr (assq name package-alist))) (inhibit-message t)) (package-delete desc force-p)) @@ -240,8 +240,8 @@ appropriate." (pcase (doom-package-backend (car pkg)) ('quelpa "QUELPA") ('elpa "ELPA"))) - ('error - (message! (red "Error installing %s: %s" (symbol-name (car pkg)) ex))))) + ('user-error + (message! (bold (red "Error installing %s: %s" (car pkg) ex)))))) (message! (bold (green "Finished!"))) (doom/reload))))) @@ -280,9 +280,9 @@ appropriate." (color (if result 'green 'red) "%s %s" (if result "Updated" "Failed to update") - (symbol-name (car pkg))))) - ('error - (message! (bold (red "Error updating %s: %s" (symbol-name (car pkg)) ex)))))) + (car pkg)))) + ('user-error + (message! (bold (red "Error updating %s: %s" (car pkg) ex)))))) (message! (bold (green "Finished!"))) (doom/reload))))) @@ -299,7 +299,7 @@ appropriate." (y-or-n-p (format "%s packages will be deleted:\n\n%s\n\nProceed?" (length packages) - (mapconcat (lambda (sym) (format "+ %s" (symbol-name sym))) + (mapconcat (lambda (sym) (format "+ %s" sym)) (sort (cl-copy-list packages) #'string-lessp) "\n"))))) (message! (yellow "Aborted!"))) @@ -312,10 +312,9 @@ appropriate." (color (if result 'green 'red) "%s %s" (if result "Deleted" "Failed to delete") - (symbol-name pkg)))) - ('error - (message! (red "Error deleting %s: %s" (symbol-name pkg) ex)))) - ) + pkg))) + ('user-error + (message! (bold (red "Error deleting %s: %s" pkg ex)))))) (message! (bold (green "Finished!"))) (doom/reload))))) @@ -333,9 +332,7 @@ Use this interactively. Use `doom-delete-package' for direct calls." (doom-initialize) (list (completing-read "Delete package: " - (delq nil - (mapcar (lambda (p) (unless (package-built-in-p p) p)) - (mapcar #'car package-alist))) + (cl-remove-if #'package-built-in-p package-alist :key #'car) nil t)))) (if (package-installed-p package) (if (y-or-n-p (format "%s will be deleted. Confirm?" package)) @@ -355,7 +352,8 @@ calls." (let ((packages (doom-get-outdated-packages))) (list (if packages - (completing-read "Update package: " (mapcar #'symbol-name (mapcar #'car packages))) + (completing-read "Update package: " + (mapcar #'symbol-name (mapcar #'car packages))) (user-error "All packages are up-to-date"))))) (if-let (desc (doom-package-outdated-p (intern package))) (if (y-or-n-p (format "%s will be updated from %s to %s. Update?" @@ -363,9 +361,7 @@ calls." (package-version-join (cadr desc)) (package-version-join (cl-caddr desc)))) (message "%s %s" - (if (doom-update-package package) - "Updated" - "Failed to update") + (if (doom-update-package package) "Updated" "Failed to update") pkg) (message "Aborted")) (message "%s is up-to-date" package))) diff --git a/core/core-packages.el b/core/core-packages.el index 04b1839fb..0e2b203bc 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -360,7 +360,8 @@ them." (plist-put plist :pin nil))) `(progn (when ,(and pkg-pin t) - (cl-pushnew (cons ',name ,pkg-pin) package-pinned-packages :test 'eq :key 'car)) + (cl-pushnew (cons ',name ,pkg-pin) package-pinned-packages + :test #'eq :key #'car)) (when ,(and old-plist t) (assq-delete-all ',name doom-packages)) (push ',(cons name plist) doom-packages)))) @@ -394,7 +395,7 @@ server, if necessary) by `doom/packages-install', `doom/packages-update' and (doom-initialize t) (doom/recompile) (message "Reloaded %d packages" (length doom--package-load-path)) - (run-with-timer 1 nil 'redraw-frame)))) + (run-with-timer 1 nil #'redraw-frame)))) (defun doom/reload-autoloads () "Refreshes the autoloads.el file, which tells Emacs where to find all the