]> git.eshelyaron.com Git - emacs.git/commitdiff
emacs-lisp/package.el (package-reinstall): Accept package-desc objects.
authorArtur Malabarba <bruce.connor.am@gmail.com>
Wed, 4 Feb 2015 15:17:06 +0000 (15:17 +0000)
committerArtur Malabarba <bruce.connor.am@gmail.com>
Wed, 4 Feb 2015 15:17:06 +0000 (15:17 +0000)
lisp/ChangeLog
lisp/emacs-lisp/package.el

index 375304bff9ee547dc8e2fd31e27dbf5bb7c7863c..fbf77c6258ebb88392e3a04bffd2f879b4ecbd22 100644 (file)
@@ -7,6 +7,7 @@
        selected. When given a package-desc object which is already
        installed, the package is not downloaded again, but it is marked
        as selected (if it wasn't already).
+       (package-reinstall): Accept package-desc objects.
 
 2015-02-03  Artur Malabarba  <bruce.connor.am@gmail.com>
 
index 3d44755f46aa00fbbe05fb1d0529ea447ef5e3a1..c635fcdf67140140aea3d320d6f243c7b082ef38 100644 (file)
@@ -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)