From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: Re: user-controlled load-path extension: load-dir Date: Mon, 07 Mar 2011 10:24:58 -0600 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <871v2i525h.fsf@lifelogs.com> References: <87ei6mz24h.fsf@lifelogs.com> <20110306072147.GA11067@event-horizon.homenet> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1299515166 30669 80.91.229.12 (7 Mar 2011 16:26:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 7 Mar 2011 16:26:06 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 07 17:26:02 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 1PwdFv-0006aR-SA for ged-emacs-devel@m.gmane.org; Mon, 07 Mar 2011 17:26:01 +0100 Original-Received: from localhost ([127.0.0.1]:56292 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwdFg-00077I-Sp for ged-emacs-devel@m.gmane.org; Mon, 07 Mar 2011 11:25:44 -0500 Original-Received: from [140.186.70.92] (port=57177 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwdFV-0006zu-HF for emacs-devel@gnu.org; Mon, 07 Mar 2011 11:25:36 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PwdFE-0006g2-Ic for emacs-devel@gnu.org; Mon, 07 Mar 2011 11:25:17 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:58814) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PwdFE-0006fJ-8X for emacs-devel@gnu.org; Mon, 07 Mar 2011 11:25:16 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PwdFC-0006Mz-A6 for emacs-devel@gnu.org; Mon, 07 Mar 2011 17:25:14 +0100 Original-Received: from 38.98.147.130 ([38.98.147.130]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 07 Mar 2011 17:25:14 +0100 Original-Received: from tzz by 38.98.147.130 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 07 Mar 2011 17:25:14 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 71 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 38.98.147.130 X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" User-Agent: Gnus/5.110014 (No Gnus v0.14) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:TJoufYwDYsw1Z5e60LpFxRl7So8= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 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:136836 Archived-At: On Sat, 5 Mar 2011 11:11:34 -0800 Chad Brown wrote: CB> On Mar 4, 2011, at 7:18 PM, Ted Zlatanov wrote: >> >> By analogy consider some of the software that lets you put a snippet in >> a conf.d directory, obviously implying that this is convenient for the >> user. This is just a sampling from my machine: CB> Those are all machine-wide configurations. For that, use site-lisp. Bazaar has a plugins directory; files in it are automatically activated, as an example of a user-level facility like this. Anyhow, my point is that placing a file in a directory is inherently more modular and convenient to the user than augmenting a single file. Do you disagree? CB> If the user has to go through a set of steps to install and activate a CB> package, how isn't that what ELPA does? They are not packages, they are snippets of code. ELPA requires far more structure and many more steps. For what I'm proposing, a lot less work is required (just a y/n prompt the first time a snippet is found to ensure it's not placed there maliciously). On Sat, 5 Mar 2011 23:21:51 -0800 Mike Mattie wrote: MM> There are ways to solve the problem you are looking at without wiring more MM> logic into Emacs. Use the .emacs file as a more sophisticated loader for a MM> complex configuration when necessary. I can and do, sure. I don't think it creates a nice user experience. MM> I have done this with my Grail project (on EmacsWiki), as has tidyconfig. MM> I would look at these solutions first before proposing code that has to MM> be wired into the bootstrap codepath. Thanks for pointing those out. Would Grail or tidyconfig work as a core option on startup (meaning the user doesn't have to install a package, just customize a boolean)? Do they handle signing the snippets the first time they are found? Can you give us a comparison of them and any other similar solutions you know? They have to be GPL and assigned to Emacs to be included. MM> There are a number of issues a reliable loader should address: MM> how does it handle errors ? MM> how does it handle --batch ? MM> how does it handle --daemon ? MM> how simple,transparent,debuggable is the loader code ? MM> I have not seen any code so far in your proposal unless I accidentally MM> skipped or deleted a message with it. I can write the code but haven't seen the need for actual code yet (I could have just comitted some code to Emacs instead, but find that option to be antisocial). I'd rather use something that already exists such as Grail or tidyconfig that you kindly pointed out. If you could tell us how any potential solutions can help answer the questions above, that would be wonderful. I can look at any solutions and evaluate them if you like. To answer your questions from my perspective, IMHO a loader should work like package.el. IOW, whenever and however package.el is loaded currently, this loader we're discussing should also be loaded, since it's effectively a package manager but with snippets instead of packages. Ted