From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.devel Subject: Re: package.el dependencies Date: Mon, 02 Feb 2015 21:35:29 +0100 Message-ID: <87egq83veh.fsf@gmail.com> References: <87wq4dpqib.fsf@gmail.com> <87wq44su8v.fsf@gmail.com> <878ugj7ajz.fsf@gmail.com> <874mr67gjb.fsf@gmail.com> <87oapervqv.fsf@gmail.com> <877fw2kp1y.fsf@gmail.com> <87d25tps2q.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1422909372 21588 80.91.229.3 (2 Feb 2015 20:36:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 2 Feb 2015 20:36:12 +0000 (UTC) Cc: Artur Malabarba , emacs-devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 02 21:36:11 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YINj8-0006Dq-B2 for ged-emacs-devel@m.gmane.org; Mon, 02 Feb 2015 21:36:10 +0100 Original-Received: from localhost ([::1]:56644 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YINj7-0004AH-FF for ged-emacs-devel@m.gmane.org; Mon, 02 Feb 2015 15:36:09 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37615) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YINik-00047w-Dn for emacs-devel@gnu.org; Mon, 02 Feb 2015 15:35:47 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YINif-000773-SG for emacs-devel@gnu.org; Mon, 02 Feb 2015 15:35:46 -0500 Original-Received: from mail-we0-x230.google.com ([2a00:1450:400c:c03::230]:50264) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YINif-00076o-0l for emacs-devel@gnu.org; Mon, 02 Feb 2015 15:35:41 -0500 Original-Received: by mail-we0-f176.google.com with SMTP id w62so41256478wes.7 for ; Mon, 02 Feb 2015 12:35:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:from:to:cc:subject:message-id:in-reply-to:date :mime-version:content-type; bh=iBm8ux27KiCrKInnRnaD2TRFEPUtRx6p9ZurHr/4/N8=; b=cZmGouzOmp4LItWBnxkGeifvU+8QeuNcLyA78u1x6dhC2mkNQXygsKP+fmPf6GSFv1 ZHTsO7bEKvUfycz9HUESCqQmcBWvKdkMGu6L+t8DeOYMHp8vRuPs8lUl3Es1t8Y+wRgw +2OOvvQE1oD2QvSggcarpVpS2I4rwwhIyy1gMePtzV6LjiX/dDkwbpTbtiSeM5V4IMIL ryinyDIBYWqssCs8qs+PW9nwbwftyQgDgJg2G0/BTnEINStvixa3krUjEnTe/6TWupnp r90a8OVS19NC/h5lwXhf37gVdwGEcXQaxQrE3UJmrVIDvwhjkyvSAnfcTH2Ub5cSNAw+ Yvug== X-Received: by 10.180.76.72 with SMTP id i8mr28231749wiw.22.1422909340369; Mon, 02 Feb 2015 12:35:40 -0800 (PST) Original-Received: from dell-14z ([37.163.229.5]) by mx.google.com with ESMTPSA id r8sm17387281wib.16.2015.02.02.12.35.37 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 02 Feb 2015 12:35:39 -0800 (PST) In-reply-to: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c03::230 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:182289 Archived-At: Stefan Monnier 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