From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: feature/integrated-elpa 4f6df43 15/23: README added Date: Wed, 19 Oct 2016 22:41:41 +0200 Message-ID: References: <20160916203414.25203.87032@vcs.savannah.gnu.org> <831szh3iq4.fsf@gnu.org> <87mvi5spl9.fsf@Rainer.invalid> <83mvi51y3b.fsf@gnu.org> <87instslxu.fsf@russet.org.uk> <83inst1vut.fsf@gnu.org> <87eg3ekjz2.fsf@russet.org.uk> <83vawpx677.fsf@gnu.org> <87h989ixxd.fsf@russet.org.uk> <83mvi1ww6m.fsf@gnu.org> <87wph5fw0w.fsf@russet.org.uk> <838ttlwodt.fsf@gnu.org> <878ttl3342.fsf@Rainer.invalid> <8360opwjs2.fsf@gnu.org> <8760oosrn8.fsf@russet.org.uk> <83shrsvj3g.fsf@gnu.org> <87k2d4fk9m.fsf@russet.org.uk> <83h988uzpm.fsf@gnu.org> <87eg3ce2s1.fsf@russet.org.uk> <87pomw8ces.fsf@lifelogs.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1476909864 29126 195.159.176.226 (19 Oct 2016 20:44:24 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 19 Oct 2016 20:44:24 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 19 22:44:20 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bwxiY-0005Wy-KK for ged-emacs-devel@m.gmane.org; Wed, 19 Oct 2016 22:44:06 +0200 Original-Received: from localhost ([::1]:51134 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bwxia-0006hA-Sx for ged-emacs-devel@m.gmane.org; Wed, 19 Oct 2016 16:44:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59732) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bwxiU-0006gs-3C for emacs-devel@gnu.org; Wed, 19 Oct 2016 16:44:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bwxiQ-0003rs-UH for emacs-devel@gnu.org; Wed, 19 Oct 2016 16:44:02 -0400 Original-Received: from hermes.netfonds.no ([80.91.224.195]:43450) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1bwxiQ-0003rV-NN for emacs-devel@gnu.org; Wed, 19 Oct 2016 16:43:58 -0400 Original-Received: from cm-84.215.1.64.getinternet.no ([84.215.1.64] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1bwxiN-0000hJ-P9 for emacs-devel@gnu.org; Wed, 19 Oct 2016 22:43:57 +0200 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEURFBf7/Pjz8+wSFhkO ERTU0snq6eElKCvxyvZFAAACWElEQVQ4jV2UQYvrMAyEBQ70bEN6tyA+F7KQa2ANPadgv7MN1nkh C/n7O0rSbvcZWmi+ypJGo5AwswzjeW5ElFLKdaCQcgkKJnxWIJOTVB6I2Vp+RehJIt4hQnDeACEi edsDhCr9K4chwh9rCEdE/xtxM0XskBJdRcI7GMdqbZBGveTW+tH8giySAUKQ9xxEYw0ti+bgwP3x 0BCAKa7VIIQbre3PStE3QAitCXHdwbpu24XwWak61OvIW2/tALBuEyQxN5IGlSwNKYvmmKZp+1on JCkhVW/B8y7JNI1PcG3eOmpJJdPU27atmr1c0SCTNo4IOk43RyrQ2+EqYX82eMKC2QWvWkr5Ax6o HwB6yd5gnNcxfmoEB+uYWs1Sd3D/iDHOAA79QStX7F5VvN+/lUT8rlVoOPsASP8UdAVFiZDo7Hsy BmDTkJg1h+houfUQ9eME8+OK/irJouoSXb5j2mLstFx2SN5yVrOQiQeYafGuCiKgIu/griCiXGs9 O1LbeQXH0IEWxnMPHqrtb/Q8AJ6187LP3Dyfdx0tQ/VOrzqq+j0LsuoEa7X8F8D+oVANPvwXYa/i mWoJ/g1Aq8UVGIcEEVouTHhBbR0kcXhuqcFdZ7mXL3zNlFkLpZCzbtxuzqObnPeqnK5to1cExQfE sAqwoz1u2EEHrbAvzDADRh6OiM8bdZojtyoFbod/FBgoTiNs8kDn6qvKWIddpjibEVU/mloNZsGW vhrUvVqs1gtJqvgX0KksVjukBjeE/ny/3M6tLSrJVe2DvX+t89kHuOAl877n1bF3P58G1Z+Prfuo AAAAAElFTkSuQmCC In-Reply-To: (Stefan Monnier's message of "Wed, 19 Oct 2016 14:59:08 -0400") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 80.91.224.195 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:208506 Archived-At: Anyway, I've been trying to follow this discussion, and I just don't seem to get what the problem is. Today, a package is (basically) some .el files in a directory. We want to extend this paradigm to have in-tree packages that can be updated. Isn't the obvious solution to have a manifest in each package that says what .el files are part of that package? That is, if we have in in-tree package foo, that consists of the files lisp/foo.el and lisp/image/foo-images.el, then the manifest for foo-0.5 (included in the emacs-26.1 distribution) will be: '("lisp/foo.el" "lisp/image/foo-images.el") Now, if the user has updated to a newer version from GNU ELPA, then those files will land in ~/.emacs.d/elpa/foo, and the manifest will say that the files belonging to version foo-0.6 will be '("elpa/foo/foo.el" "elpa/foo/foo-new-images.el" "elpa/foo/foo-me-more.el") Now, package.el knows that the user wants foo-0.6, so it prepends that directory to load-path. In addition, it also has to blacklist all .el files from previous versions of the package that are visible, which will, in this case, be the files in the manifest from the build-in version 0.5. So it'll add '("lisp/foo.el" "lisp/image/foo-images.el") to a new variable load-path-blacklist, and saying `(require 'foo-images)' anywhere will fail with "cannot open load file". Am I missing something? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no