summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2015-02-04 15:17:06 +0000
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-02-04 15:17:06 +0000
commit102a21d68976ab9dc85304e0bc47b7562d3cf93f (patch)
tree0a33532724f01890eddc1927a66076bb35da1ddb /lisp/emacs-lisp
parent5687ac9f013618052bdf324e0751059c9d00ff87 (diff)
downloademacs-102a21d68976ab9dc85304e0bc47b7562d3cf93f.tar.gz
emacs-102a21d68976ab9dc85304e0bc47b7562d3cf93f.tar.bz2
emacs-102a21d68976ab9dc85304e0bc47b7562d3cf93f.zip
emacs-lisp/package.el (package-reinstall): Accept package-desc objects.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/package.el8
1 files changed, 6 insertions, 2 deletions
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."
;;;###autoload
(defun package-reinstall (pkg)
- "Reinstall package PKG."
+ "Reinstall package PKG.
+PKG shoul be either a symbol, the package name, or a package-desc
+object."
(interactive (list (intern (completing-read
"Reinstall package: "
(mapcar #'symbol-name
(mapcar #'car package-alist))))))
- (package-delete (cadr (assq pkg package-alist)) 'force 'nosave)
+ (package-delete
+ (if (package-desc-p pkg) pkg (cadr (assq pkg package-alist)))
+ 'force 'nosave)
(package-install pkg))
(defun package-strip-rcs-id (str)