emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: package.el dependencies


From: Thierry Volpiatto
Subject: Re: package.el dependencies
Date: Mon, 02 Feb 2015 21:35:29 +0100

Stefan Monnier <address@hidden> writes:

> We have a problem: since package-reinstall does a `package-delete'
> and since this `package-delete' always marks the package as unselected,
> it follows that package-reinstall will always mark the package as
> unselected :-(

This patch fix this issue:

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 9a29d63..296ee46 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1239,7 +1239,8 @@ to `package-selected-packages'."
                               "Reinstall package: "
                               (mapcar #'symbol-name
                                       (mapcar #'car package-alist))))))
-  (package-delete (cadr (assq pkg package-alist)) t)
+  (package-delete (cadr (assq pkg package-alist)) 'force
+                  (memq pkg package-selected-packages))
   (package-install pkg))
 
 (defun package-strip-rcs-id (str)
@@ -1470,7 +1471,7 @@ with PKG-DESC entry removed."
                (and (memq pkg (mapcar #'car (package-desc-reqs (cadr p))))
                     (car p))))))
 
-(defun package-delete (pkg-desc &optional force)
+(defun package-delete (pkg-desc &optional force nosave)
   "Delete package PKG-DESC.
 
 Argument PKG-DESC is a full description of package as vector.
@@ -1506,7 +1507,8 @@ elsewhere."
              (unless (cdr pkgs)
                (setq package-alist (delq pkgs package-alist))))
            ;; Update package-selected-packages.
-           (when (memq name package-selected-packages)
+           (when (and (memq name package-selected-packages)
+                      (null nosave))
              (customize-save-variable
               'package-selected-packages (remove name 
package-selected-packages)))
            (message "Package `%s' deleted." (package-desc-full-name 
pkg-desc))))))

> One more thing: now that we have package-selected-packages,
> package-delete should be fixed to be a real "inverse" of
> package-install, i.e. it should delete its unused dependencies.

Hmm, not sure it is a good idea.

> One more thing: it'd be great to extend the list-package display so as
> to indicate which packages are selected and which ones aren't.

I already did this in helm, with "I" in first column, but in helm the
first 2 columns are not needed like in list-package ("I" and "D").
Will see what I can do even if I don't use this UI.

Will look in next issues tomorrow.

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]