From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ben Key Newsgroups: gmane.emacs.bugs Subject: bug#8205: user-controlled load-path extension: load-dir Date: Tue, 8 Mar 2011 12:05:47 -0600 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00032555a4aa62cd3c049dfc77ee X-Trace: dough.gmane.org 1299609434 9817 80.91.229.12 (8 Mar 2011 18:37:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 8 Mar 2011 18:37:14 +0000 (UTC) To: 8205@debbugs.gnu.org, tzz@lifelogs.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Mar 08 19:37:10 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1Px1mM-0005YL-VP for geb-bug-gnu-emacs@m.gmane.org; Tue, 08 Mar 2011 19:37:07 +0100 Original-Received: from localhost ([127.0.0.1]:44865 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Px1mL-0005G3-Sq for geb-bug-gnu-emacs@m.gmane.org; Tue, 08 Mar 2011 13:37:05 -0500 Original-Received: from [140.186.70.92] (port=53839 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Px1mC-0005Ea-En for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2011 13:36:57 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Px1mB-00018s-7O for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2011 13:36:56 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:59686) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Px1mB-00018m-5I for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2011 13:36:55 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1Px1JF-00022C-Oo; Tue, 08 Mar 2011 13:07:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Ben Key Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 08 Mar 2011 18:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 8205 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org, tzz@lifelogs.com Original-Received: via spool by submit@debbugs.gnu.org id=B.12996076077790 (code B ref -1); Tue, 08 Mar 2011 18:07:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 8 Mar 2011 18:06:47 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Px1J0-00021b-Hi for submit@debbugs.gnu.org; Tue, 08 Mar 2011 13:06:46 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Px1Iy-00021P-GO for submit@debbugs.gnu.org; Tue, 08 Mar 2011 13:06:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Px1Is-0000Ug-01 for submit@debbugs.gnu.org; Tue, 08 Mar 2011 13:06:39 -0500 Original-Received: from lists.gnu.org ([199.232.76.165]:45275) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Px1Ir-0000UZ-SQ for submit@debbugs.gnu.org; Tue, 08 Mar 2011 13:06:37 -0500 Original-Received: from [140.186.70.92] (port=39972 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Px1IZ-0001Ya-Kn for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2011 13:06:37 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Px1IO-0000NJ-Gz for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2011 13:06:09 -0500 Original-Received: from mail-bw0-f41.google.com ([209.85.214.41]:56302) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Px1IO-0000N5-7C for bug-gnu-emacs@gnu.org; Tue, 08 Mar 2011 13:06:08 -0500 Original-Received: by bwz17 with SMTP id 17so69531bwz.0 for ; Tue, 08 Mar 2011 10:06:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:from:date:message-id:subject:to :content-type; bh=SLZH/oGl0NxnEIzoglUuRGjgsHnw10OVl058DOMgyGc=; b=p+yM8vij6ldzV1vEO1pORKXDjxthn6masBtpJ7HXh0vrumU/6K7Ny/n/b2SFMREloB 2LnLaoZ5eefVPOHt8udaE1wyuGHt70ei1joIS5VQ5gwbXxk99K7qEMimvfZAlnfc5wQa +iWbkl6Wt7wAGLyrUbDhyJJOr75Wr+eJMgoCo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=hnphWgQaWYPF9P7uwtDccRbNdmDZjpd4rrd1eR/T+Ptqr9Jfk35+fAJ8BXXLqQGfRu nZEeUhR6nDl4O0y94jap3vvTeHLtHtYadTLKci+qzY/ExqIfI0bXJfrEMKWfVEsj4JLZ s95XBy7xWNdiKe+M5ptV/88Kvk7JfrMUt8dxw= Original-Received: by 10.204.22.194 with SMTP id o2mr3322099bkb.67.1299607567125; Tue, 08 Mar 2011 10:06:07 -0800 (PST) Original-Received: by 10.204.14.147 with HTTP; Tue, 8 Mar 2011 10:05:47 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Tue, 08 Mar 2011 13:07:01 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:44791 Archived-At: --00032555a4aa62cd3c049dfc77ee Content-Type: multipart/alternative; boundary=00032555a4aa62cd34049dfc77ec --00032555a4aa62cd34049dfc77ec Content-Type: text/plain; charset=ISO-8859-1 Hello, I have attached to this message version 2 of user-load-dir.el. This version incorporates the recursive load-dir function written by Evans Winner (see < http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00239.html>). It also adds two new defcustom variables, load-files-in-user-load-dir-recursively and auto-load-files-in-user-load-dir. Note that one major new feature introduced by this version is that if the .el file has been byte compiled, the byte compiled version will be loaded instead of the source version. This is a major improvement over my original version which would only load .el files. There are two remaining issues with this version. If one of the files in the user-load-dir has been byte-compiled, it will be loaded twice. Also it has no error handling. I am more than willing to continue development of this file into an Emacs package that can be included in ELPA. This would make it possible for this useful feature to be made readily available to those who want to use it without including it in Emacs itself. I have one question. What sort of error handling should I incorporate into this package? --00032555a4aa62cd34049dfc77ec Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello,

I have attached to this message version 2 of= user-load-dir.el.=A0 This version incorporates the recursive load-dir func= tion written by Evans Winner (see <http://lists.gnu.org/archive/htm= l/emacs-devel/2011-03/msg00239.html>).=A0 It also adds two new defcu= stom variables, load-files-in-user-load-dir-recursively and auto-load-files= -in-user-load-dir.

Note that one major new feature introduced by this version is that if t= he .el file has been byte compiled, the byte compiled version will be loade= d instead of the source version.=A0 This is a major improvement over my ori= ginal version which would only load .el files.

There are two remaining issues with this version.=A0 If one of the file= s in the user-load-dir has been byte-compiled, it will be loaded twice.=A0 = Also it has no error handling.

I am more than willing to continue de= velopment of this file into an Emacs package that can be included in ELPA.= =A0 This would make it possible for this useful feature to be made readily = available to those who want to use it without including it in Emacs itself.=

I have one question.=A0 What sort of error handling should I incorporat= e into this package?

--00032555a4aa62cd34049dfc77ec-- --00032555a4aa62cd3c049dfc77ee Content-Type: application/octet-stream; name="user-load-dir.el" Content-Disposition: attachment; filename="user-load-dir.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gl14csdz0 Ozs7IHVzZXItbG9hZC1kaXIuZWwgLS0gQSBxdWljayBhbmQgZGlydHkgaW1wbGVtZW50YXRpb24g b2YgYSB1c2VyIGxvYWQNCjs7OyBkaXJlY3RvcnkuICBUaGlzIGZpbGUgaXMgcHJvdmlkZWQgYXMg YSBwb3NzaWJsZSBhbnN3ZXIgdG8gdGhlDQo7OzsgInVzZXItY29udHJvbGxlZCBsb2FkLXBhdGgg ZXh0ZW5zaW9uOiBsb2FkLWRpciIgZGlzY3Vzc2lvbiBvbiB0aGUNCjs7OyBlbWFjcy1kZXZlbCBs aXN0IGZvdW5kIGF0DQo7OzsgPGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFj cy1kZXZlbC8yMDExLTAzL21zZzAwMDQ4Lmh0bWw+Lg0KDQo7OzsgVGhpcyBjb3VsZCBldmVudHVh bGx5IGJlIHR1cm5lZCBpbnRvIGFuIEVtYWNzIHBhY2thZ2UgdGhhdCBjYW4gYmUNCjs7OyBpbnN0 YWxsZWQgdmlhIHBhY2thZ2UuZWwuICBGb3Igbm93LCB0aGlzIGZpbGUgY2FuIGJlIGluc3RhbGxl ZCBieQ0KOzs7IHBsYWNpbmcgaXQgc29tZXdoZXJlIGluIHlvdXIgbG9hZCBwYXRoIGFuZCBhZGQg dGhlIGxpbmUNCjs7OyAocmVxdWlyZSAndXNlci1sb2FkLWRpcikNCjs7OyB0byB5b3VyIC5lbWFj cyBvciBzaXRlLXN0YXJ0LmVsIGZpbGUuDQoNCjs7OyBDb3B5cmlnaHQgKGMpIDIwMTEgQmVuIEtl eQ0KDQo7OyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeSBpdA0KOzsgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCjs7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yDQo7OyAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KOzsNCjs7IFRoaXMgZmlsZSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQNCjs7IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCjs7IE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRo ZSBHTlUNCjs7IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCjs7DQo7 OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQ0KOzsgYWxvbmcgd2l0aCB0aGUgYmstZW1hY3MtdG9vbHMgcGFja2FnZS4gIElm IG5vdCwgc2VlDQo7OyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQoNCihkZWZjdXN0 b20gdXNlci1sb2FkLWRpcg0KICAoZm9ybWF0ICIlcy5lbWFjcy5kL2xvYWQiIChmaWxlLW5hbWUt ZGlyZWN0b3J5IChleHBhbmQtZmlsZS1uYW1lIHVzZXItaW5pdC1maWxlKSkpDQogICJBIHVzZXIg ZGVmaW5lZCBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIHVzZXIgY2FuIHBsYWNlIC5lbCBmaWxlcyB0 aGF0DQp3aWxsIGF1dG9tYXRpY2FsbHkgYmUgbG9hZGVkIGFmdGVyIEVtYWNzIGluaXRpYWxpemF0 aW9uIGlzIGNvbXBsZXRlLiINCiAgOnR5cGUgJ2RpcmVjdG9yeQ0KICA6Z3JvdXAgJ2luaXRpYWxp emF0aW9uDQogIDpyZXF1aXJlICd1c2VyLWxvYWQtZGlyDQogICkNCg0KKGRlZmN1c3RvbSBsb2Fk LWZpbGVzLWluLXVzZXItbG9hZC1kaXItcmVjdXJzaXZlbHkgbmlsDQogICJOb24tbmlsIGNhdXNl cyBgbG9hZC11c2VyLWxvYWQtZGlyLWZpbGVzJyB0byBsb2FkIGFsbCAuZWwgb3IgLmVsYw0KZmls ZXMgaW4gdGhlIGB1c2VyLWxvYWQtZGlyJyBhbmQgaW4gYWxsIHN1YmRpcmVjdG9yaWVzIG9mIHRo ZQ0KYHVzZXItbG9hZC1kaXIuJyAgTmlsIGNhdXNlcyBgbG9hZC11c2VyLWxvYWQtZGlyLWZpbGVz JyB0byBsb2FkIG9ubHkNCnRoZSBmaWxlcyBpbiB0aGUgYHVzZXItbG9hZC1kaXIuJw0KDQpUaGUg ZGVmYXVsdCB2YWx1ZSBpcyBuaWwuIg0KICA6dHlwZSAnYm9vbGVhbg0KICA6Z3JvdXAgJ2luaXRp YWxpemF0aW9uDQogIDpyZXF1aXJlICd1c2VyLWxvYWQtZGlyDQogICkNCg0KKGRlZmN1c3RvbSBh dXRvLWxvYWQtZmlsZXMtaW4tdXNlci1sb2FkLWRpciB0DQoiTm9uLW5pbCBjYXVzZXMgYGxvYWQt dXNlci1sb2FkLWRpci1maWxlcycgdG8gYmUgY2FsbGVkIGF1dG9tYXRpY2FsbHkNCmZyb20gdGhl IGBhZnRlci1pbml0LWhvb2suJyAgTmlsIHN1cHByZXNzZXMgdGhpcyBhdXRvbWF0aWMgbG9hZGlu Zy4NCk5vdGUgdGhhdCBzaW5jZSBgbG9hZC11c2VyLWxvYWQtZGlyLWZpbGVzJyBpcyBhbiBpbnRl cmFjdGl2ZSBmdW5jdGlvbiwNCnlvdSBtYXkgY2FsbCBpdCBtYW51YWxseSBieSB1c2luZyAnTS14 IGxvYWQtdXNlci1sb2FkLWRpci1maWxlcycgaWYgeW91DQpjaG9vc2UgdG8gc2V0IHRoaXMgdmFy aWFibGUgdG8gbmlsLg0KDQpUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0LiINCiAgOnR5cGUgJ2Jvb2xl YW4NCiAgOmdyb3VwICdpbml0aWFsaXphdGlvbg0KICA6cmVxdWlyZSAndXNlci1sb2FkLWRpcg0K ICApDQoNCihkZWZ1biBsb2FkLWRpciAoZGlyZWN0b3J5ICZvcHRpb25hbCByZWN1cnNlKQ0KICAi TG9hZCBhbGwgRW1hY3MgTGlzcCBmaWxlcyBpbiBESVJFQ1RPUlkuDQpJZiBSRUNVUlNFIGlzIG5v bi1uaWwsIHJlY3Vyc2l2ZWx5IGxvYWQgYWxsIHN1Y2ggZmlsZXMgaW4gYWxsDQpzdWJkaXJlY3Rv cmllcy4NCg0KVGhpcyBmdW5jdGlvbiB3YXMgd3JpdHRlbiBieSBFdmFucyBXaW5uZXIuICBTZWUg dGhlIG1lc3NhZ2UNCjxodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3MtZGV2 ZWwvMjAxMS0wMy9tc2cwMDIzOS5odG1sPiINCiAgKGludGVyYWN0aXZlICJEIikNCiAgKGRvbGlz dCAoZmlsZQ0KICAgICAgICAgICAoZGlyZWN0b3J5LWZpbGVzIChleHBhbmQtZmlsZS1uYW1lIGRp cmVjdG9yeSkgdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeS1maWxlcy1u by1kb3QtZmlsZXMtcmVnZXhwKSBuaWwpDQogICAgKGNvbmQNCiAgICAgKChhbmQgcmVjdXJzZSAo ZmlsZS1kaXJlY3RvcnktcCBmaWxlKSkNCiAgICAgICh3aGVuIHJlY3Vyc2UgKGxvYWQtZGlyIGZp bGUpKSkNCiAgICAgKChzdHJpbmctbWF0Y2ggIlxcLmVsJFxcfFxcLmVsYyQiIGZpbGUpDQogICAg ICAobG9hZC1saWJyYXJ5IChmaWxlLW5hbWUtc2Fucy1leHRlbnNpb24gZmlsZSkpKSkpKQ0KDQoo ZGVmdW4gbG9hZC11c2VyLWxvYWQtZGlyLWZpbGVzICgpDQogICJMb2FkcyBhbGwgLmVsIGZpbGVz IGZvdW5kIGluIHRoZSBgdXNlci1sb2FkLWRpci4nIg0KICAoaW50ZXJhY3RpdmUpDQogIChsb2Fk LWRpciB1c2VyLWxvYWQtZGlyIGxvYWQtZmlsZXMtaW4tdXNlci1sb2FkLWRpci1yZWN1cnNpdmVs eSkNCiAgKQ0KDQooZGVmdW4gdXNlci1sb2FkLWRpci1hZnRlci1pbml0LWhvb2sgKCkNCiAgIkFu IGBhZnRlci1pbml0LWhvb2snIGZ1bmN0aW9uIHRoYXQgaXMgdXNlZCB0byBjb25kaXRpb25hbGx5 IGNhbGwNCmBsb2FkLXVzZXItbG9hZC1kaXItZmlsZXMnIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUg b2YNCmBhdXRvLWxvYWQtZmlsZXMtaW4tdXNlci1sb2FkLWRpcicuIg0KICAoaWYgYXV0by1sb2Fk LWZpbGVzLWluLXVzZXItbG9hZC1kaXINCgkgIChsb2FkLXVzZXItbG9hZC1kaXItZmlsZXMpDQoJ KQ0KICApDQoNCihhZGQtaG9vayAnYWZ0ZXItaW5pdC1ob29rICdsb2FkLXVzZXItbG9hZC1kaXIt ZmlsZXMpDQoNCihwcm92aWRlICd1c2VyLWxvYWQtZGlyKQ0K --00032555a4aa62cd3c049dfc77ee--