aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Malabarba2015-02-04 15:17:06 +0000
committerArtur Malabarba2015-02-04 15:17:06 +0000
commit102a21d68976ab9dc85304e0bc47b7562d3cf93f (patch)
tree0a33532724f01890eddc1927a66076bb35da1ddb
parent5687ac9f013618052bdf324e0751059c9d00ff87 (diff)
downloademacs-102a21d68976ab9dc85304e0bc47b7562d3cf93f.tar.gz
emacs-102a21d68976ab9dc85304e0bc47b7562d3cf93f.zip
emacs-lisp/package.el (package-reinstall): Accept package-desc objects.
-rw-r--r--lisp/ChangeLog1
-rw-r--r--lisp/emacs-lisp/package.el8
2 files changed, 7 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 375304bff9e..fbf77c6258e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -7,6 +7,7 @@
7 selected. When given a package-desc object which is already 7 selected. When given a package-desc object which is already
8 installed, the package is not downloaded again, but it is marked 8 installed, the package is not downloaded again, but it is marked
9 as selected (if it wasn't already). 9 as selected (if it wasn't already).
10 (package-reinstall): Accept package-desc objects.
10 11
112015-02-03 Artur Malabarba <bruce.connor.am@gmail.com> 122015-02-03 Artur Malabarba <bruce.connor.am@gmail.com>
12 13
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 3d44755f46a..c635fcdf671 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1265,12 +1265,16 @@ to install it but still mark it as selected."
1265 1265
1266;;;###autoload 1266;;;###autoload
1267(defun package-reinstall (pkg) 1267(defun package-reinstall (pkg)
1268 "Reinstall package PKG." 1268 "Reinstall package PKG.
1269PKG shoul be either a symbol, the package name, or a package-desc
1270object."
1269 (interactive (list (intern (completing-read 1271 (interactive (list (intern (completing-read
1270 "Reinstall package: " 1272 "Reinstall package: "
1271 (mapcar #'symbol-name 1273 (mapcar #'symbol-name
1272 (mapcar #'car package-alist)))))) 1274 (mapcar #'car package-alist))))))
1273 (package-delete (cadr (assq pkg package-alist)) 'force 'nosave) 1275 (package-delete
1276 (if (package-desc-p pkg) pkg (cadr (assq pkg package-alist)))
1277 'force 'nosave)
1274 (package-install pkg)) 1278 (package-install pkg))
1275 1279
1276(defun package-strip-rcs-id (str) 1280(defun package-strip-rcs-id (str)