From 0dbb140fbd91942cf8346c7ad8845bfb1fe2bfe5 Mon Sep 17 00:00:00 2001 From: Bozhidar Batsov Date: Fri, 27 Sep 2013 13:19:29 +0300 Subject: [PATCH] Add prelude-show-foreign-packages --- core/prelude-packages.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/core/prelude-packages.el b/core/prelude-packages.el index 3ebb472..be853dd 100644 --- a/core/prelude-packages.el +++ b/core/prelude-packages.el @@ -56,6 +56,8 @@ (defun prelude-require-package (package) "Install PACKAGE unless already installed." + (unless (memq package prelude-packages) + (add-to-list 'prelude-packages package)) (unless (package-installed-p package) (package-install package))) @@ -76,8 +78,19 @@ Missing packages are installed automatically." ;; install the missing packages (prelude-require-packages prelude-packages))) +;; run package installation (prelude-install-packages) +(defun prelude-list-foreign-packages () + "Browse third-party packages not bundled with Prelude. + +Behaves similarly to `package-list-packages', but shows only the packages that +are installed and are not in `prelude-packages'. Useful for +removing unwanted packages." + (interactive) + (package-show-package-list + (set-difference package-activated-list prelude-packages))) + (defmacro prelude-auto-install (extension package mode) "When file with EXTENSION is opened triggers auto-install of PACKAGE. PACKAGE is installed only if not already present. The file is opened in MODE."