From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tom Tromey Newsgroups: gmane.emacs.devel Subject: Re: user-controlled load-path extension: load-dir Date: Fri, 04 Mar 2011 13:08:25 -0700 Message-ID: References: <87sjv6r38q.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 1299269326 18076 80.91.229.12 (4 Mar 2011 20:08:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 4 Mar 2011 20:08:46 +0000 (UTC) Cc: Ted Zlatanov , emacs-devel@gnu.org To: Dimitri Fontaine Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 04 21:08:37 2011 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 1PvbIh-0005xr-Kd for ged-emacs-devel@m.gmane.org; Fri, 04 Mar 2011 21:08:35 +0100 Original-Received: from localhost ([127.0.0.1]:40414 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PvbIh-00025x-4l for ged-emacs-devel@m.gmane.org; Fri, 04 Mar 2011 15:08:35 -0500 Original-Received: from [140.186.70.92] (port=54781 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PvbIb-00025i-TU for emacs-devel@gnu.org; Fri, 04 Mar 2011 15:08:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PvbIa-0000gk-TE for emacs-devel@gnu.org; Fri, 04 Mar 2011 15:08:29 -0500 Original-Received: from mx1.redhat.com ([209.132.183.28]:23947) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PvbIa-0000gb-FA for emacs-devel@gnu.org; Fri, 04 Mar 2011 15:08:28 -0500 Original-Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p24K8Rr1010699 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 4 Mar 2011 15:08:27 -0500 Original-Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p24K8Qcf023351; Fri, 4 Mar 2011 15:08:26 -0500 Original-Received: from opsy.redhat.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p24K8QSY031934; Fri, 4 Mar 2011 15:08:26 -0500 Original-Received: by opsy.redhat.com (Postfix, from userid 500) id C89BC37967C; Fri, 4 Mar 2011 13:08:25 -0700 (MST) X-Attribution: Tom In-Reply-To: (Dimitri Fontaine's message of "Fri, 04 Mar 2011 20:45:45 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.132.183.28 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:136772 Archived-At: Dimitri> What el-get currently does not do is editing any user's file. What's Dimitri> proposed in this thread is a way for el-get to bootstrap itself in a Dimitri> user's setup without having to edit the user's init file. Yes, my proposal accomplishes that. There are two problems here. The first problem is, how does the user ever get el-get.el? Do they download it from a web site? Do you have some installer elisp on a web site to eval (this is what I did with ELPA)? Etc. Whatever the answer is to that problem, there is a similar package.el-based answer. E.g., if you have some elisp on your web site to download and install el-get.el, just write different elisp (untested): (let ((buffer (url-retrieve-synchronously "the url/el-get.el"))) (with-current-buffer buffer ;; strip the headers (re-search-forward "^$" nil 'move) (forward-char) (delete-region (point-min) (point)) (package-install-from-buffer (package-buffer-info) 'single)) (kill-buffer buffer)) If users just download your file by hand, then they just do that and then M-x package-install-file. The second problem is, how does el-get.el get activated? If el-get.el is an ordinary package, in the package.el sense, then in Emacs 24 it will just work with zero changes to the user's init file. Autoloads will be extracted, etc. You can make it do any el-get-specific activation quite easily using an autoload comment. Tom