From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Integrating package.el Date: Mon, 08 Mar 2010 12:01:52 -0500 Message-ID: References: <87ocl242jc.fsf@uwakimon.sk.tsukuba.ac.jp> <87d41ihx9g.fsf@stupidchicken.com> <87ocl167wx.fsf@hagelb.org> <8763795zsh.fsf@hagelb.org> <87r5pmwcf8.fsf@hagelb.org> <87ocjh2hyp.fsf@lifelogs.com> <31edf1081003032139t491b2339uf5202323100248c3@mail.gmail.com> <31edf1081003071516h522dcd31if96f7e96002bd3@mail.gmail.com> <876356hngn.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1268068284 11688 80.91.229.12 (8 Mar 2010 17:11:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 8 Mar 2010 17:11:24 +0000 (UTC) Cc: emacs-devel@gnu.org To: Ted Zlatanov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 08 18:11:20 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NogTg-00054m-1U for ged-emacs-devel@m.gmane.org; Mon, 08 Mar 2010 18:10:48 +0100 Original-Received: from localhost ([127.0.0.1]:60442 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NogTf-0001hV-8C for ged-emacs-devel@m.gmane.org; Mon, 08 Mar 2010 12:10:47 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NogL6-0005og-Hb for emacs-devel@gnu.org; Mon, 08 Mar 2010 12:01:56 -0500 Original-Received: from [140.186.70.92] (port=50970 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NogL5-0005o9-85 for emacs-devel@gnu.org; Mon, 08 Mar 2010 12:01:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NogL4-00047o-4z for emacs-devel@gnu.org; Mon, 08 Mar 2010 12:01:55 -0500 Original-Received: from pruche.dit.umontreal.ca ([132.204.246.22]:43676) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NogL4-00047g-0L for emacs-devel@gnu.org; Mon, 08 Mar 2010 12:01:54 -0500 Original-Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id o28H1qdS029471; Mon, 8 Mar 2010 12:01:52 -0500 Original-Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 23B233A0E5; Mon, 8 Mar 2010 12:01:52 -0500 (EST) In-Reply-To: <876356hngn.fsf@lifelogs.com> (Ted Zlatanov's message of "Mon, 08 Mar 2010 08:55:52 -0600") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.93 (gnu/linux) X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV3486=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:121739 Archived-At: Tom> I think the default should be to activate the most recent package, and Tom> to activate a package at install time. So, if the user picks a specific Tom> older version to activate (or equivalently deactivates the most recent Tom> version), record that, and take it into account during activation. > So it's a version override alist, where a missing entry implies the user > wants the latest? Do you mean something like this: > ((package1 (repository1 path-to-specific-version1)) > (package2 (repository2 path-to-specific-version2))) > or am I misunderstanding something? Don't know about you, but I seem to be missing something: why is the word "repository" used here? AFAIK the "repository" for package.el are (typically remote) locations from where to download packages, and they should have no interaction whatsoever with the part that worries about installation and activation of packages (just like Debian's dpkg has no idea about repositories). BTW, my take on package activation and selection of versions (which IIRC I already discussed with Tom a while back and we agreed to disagree) is that activation of a package is controlled by lines in .emacs that take a form similar to: (load "/some/where/package/init/file.el" 'package) so there is no search or selection of package version at startup-time. This means that when a new version of a package is installed, Emacs has various ways to react to it: - don't do anything, and at the next startup warn the user that the package he requested doesn't exist any more because it was replaced by a new version. - update the "load" line right when the package gets upgraded (tho only for the .emacs of the user that performs the upgrade). - use symlinks like "/some/where/elisp/sml-mode" pointing to "sml-mode-4.1" and use (load "/some/where/elisp/sml-mode/startup.el") so the symlink can be adjusted during the upgrade. - use a different load, like (package-activate-latest "/some/where/elisp/sml-mode") which will look for the latest sml-mode package installed in /some/where/elisp/, or (package-activate-latest "sml-mode") which will look for the latest sml-mode package installed in any of the installation targets. -- Stefan