From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?B?RnJhbsOnb2lzIEbDqXZvdHRl?= Newsgroups: gmane.emacs.devel Subject: [PATCH] Setting user-emacs-directory Date: Tue, 24 Mar 2015 00:25:16 +0100 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a1147a67c8dfcdb0511fcfa47 X-Trace: ger.gmane.org 1427167912 28718 80.91.229.3 (24 Mar 2015 03:31:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 24 Mar 2015 03:31:52 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 24 04:31:47 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YaFZC-0002nC-Jq for ged-emacs-devel@m.gmane.org; Tue, 24 Mar 2015 04:31:46 +0100 Original-Received: from localhost ([::1]:58906 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YaFZB-000115-RE for ged-emacs-devel@m.gmane.org; Mon, 23 Mar 2015 23:31:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42417) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YaBih-00065X-GZ for emacs-devel@gnu.org; Mon, 23 Mar 2015 19:25:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YaBif-000623-EY for emacs-devel@gnu.org; Mon, 23 Mar 2015 19:25:19 -0400 Original-Received: from mail-qg0-x233.google.com ([2607:f8b0:400d:c04::233]:35881) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YaBif-00061v-9B for emacs-devel@gnu.org; Mon, 23 Mar 2015 19:25:17 -0400 Original-Received: by qgez102 with SMTP id z102so81611818qge.3 for ; Mon, 23 Mar 2015 16:25:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=GtF5uU4T+d80uOlTnSSjiE8V6/itaKvH2T3/duYjAyg=; b=zLUgA1lfn6LnWFtkjimmeV5d9OySa5hH2HwUQO+wzwHs7QeWNrD8dmdG9JnDAvMIKo COA8xHKY4z2hxzS7KhUUeqN5GEfIaMX8ymot5K4qwr9JKwTu2EPzNENAEH878GS28+ia ++R3B6hDp4YLnDMRgRNCj4upDnN7QI7tNmm6YuB31u+x0NDXJbWXDYdw1QsERPXf45bo 8Z7u5fak5a6vSwc6QMYsa4Ir5xR7P2HzMrX6uRa6Kmp1R2W4A9L3uleMs+U86n/szB1k DMsPwSpYVcv02OX+O9PNhfjy3oRp0IPNkzE6V+F5mozkJqCKXQW6JUeKjo4K+LF2+cfE qbNQ== X-Received: by 10.55.23.221 with SMTP id 90mr3324851qkx.89.1427153116545; Mon, 23 Mar 2015 16:25:16 -0700 (PDT) Original-Received: by 10.229.233.195 with HTTP; Mon, 23 Mar 2015 16:25:16 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c04::233 X-Mailman-Approved-At: Mon, 23 Mar 2015 23:31:34 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:184152 Archived-At: --001a1147a67c8dfcdb0511fcfa47 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello emacs-devel, below is a patch trying to address old bug #15539. It introduces an EMACS_USER_DIRECTORY environment variable which (if present) has two effects: 1- it provides a custom value for `user-emacs-directory' (instead of the default `~/.emacs.d'). 2- it instructs emacs to look for the initialization file in the provided directory (instead of `~USER/.emacs.d') As explained in the bug's discussion, this covers more use cases than simply symlinking ~/.emacs.d. Here are for example a few words about my use case: at work, I try to maintain a sensible set of init files for my co-workers to use (with the very outdated default version that we have installed by default on our systems: 23.2). On the other hand, on my machine, I maintain a locally-installed Emacs version that is more up-to-date. In order to maintain both sets of init files, I need to be able to run both versions of Emacs at the same time, which prevents me from symlinking ~/.emacs.d/ There are also reddit[1] and stackexchange[2] questions hinting at the same kind of use. Please do not hesitate to comment and criticize the patch; this is my first time and I might very well have overlooked some details. Thanks in advance, Fran=C3=A7ois [1] http://www.reddit.com/r/emacs/comments/2y1b3a/how_can_i_easily_keep_dif= ferent_emacsd_folders/ [2] http://emacs.stackexchange.com/q/4253/221 --001a1147a67c8dfcdb0511fcfa47 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Look-for-an-EMACS_USER_DIRECTORY-environment-variabl.patch" Content-Disposition: attachment; filename="0001-Look-for-an-EMACS_USER_DIRECTORY-environment-variabl.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7mhlk4b0 RnJvbSBmOThkMmFmMDhkMjM0NjEyMTU1NmY0ZmQ5MTYyOGRjMDMxNmNiZmYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMEY9QzM9QTl2b3R0 ZT89IDxmcmFuY29pcy5mZXZvdHRlQGVuc3RhLm9yZz4KRGF0ZTogVHVlLCAxNyBNYXIgMjAxNSAw ODo1MDowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIExvb2sgZm9yIGFuIGBFTUFDU19VU0VSX0RJ UkVDVE9SWScgZW52aXJvbm1lbnQgdmFyaWFibGUuCgpUaGlzIHNldHMgYHVzZXItZW1hY3MtZGly ZWN0b3J5JyBhbmQgbG9va3MgZm9yIGBpbml0LmVsJyBpbiBpdC4KCkZpeGVzOiBidWcjMTU1MzkK LS0tCiBkb2MvZW1hY3MvY21kYXJncy50ZXhpIHwgICAgOSArKysrKysrKy0KIGRvYy9lbWFjcy9j dXN0b20udGV4aSAgfCAgICA4ICsrKysrKysrCiBsaXNwL2N1c3RvbS5lbCAgICAgICAgIHwgICAg MSArCiBsaXNwL3N0YXJ0dXAuZWwgICAgICAgIHwgICAyMSArKysrKysrKysrKysrKysrKy0tLS0K IDQgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kb2MvZW1hY3MvY21kYXJncy50ZXhpIGIvZG9jL2VtYWNzL2NtZGFyZ3MudGV4aQpp bmRleCA0MmM4ZTMzLi4xY2M4YWMzIDEwMDY0NAotLS0gYS9kb2MvZW1hY3MvY21kYXJncy50ZXhp CisrKyBiL2RvYy9lbWFjcy9jbWRhcmdzLnRleGkKQEAgLTM0OSw3ICszNDksOSBAQCBEbyBub3Qg cmVsb2FkIGFueSBzYXZlZCBkZXNrdG9wLiAgQHhyZWZ7U2F2aW5nIEVtYWNzIFNlc3Npb25zfS4K IEBvcGluZGV4IC0tdXNlcgogQGNpbmRleCBsb2FkIGluaXQgZmlsZSBvZiBhbm90aGVyIHVzZXIK IExvYWQgQHZhcnt1c2VyfSdzIGluaXRpYWxpemF0aW9uIGZpbGUgaW5zdGVhZCBvZiB5b3VyCi1v d25AZm9vdG5vdGV7VGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiBNUy1XaW5kb3dzLn0uCitv d25AZm9vdG5vdGV7VGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiBNUy1XaW5kb3dzLCBub3Ig d2hlbiB0aGUKK0BlbnZ7RU1BQ1NfVVNFUl9ESVJFQ1RPUll9IGVudmlyb25tZW50IHZhcmlhYmxl IGlzIHNldCAoQHB4cmVme0dlbmVyYWwKK1ZhcmlhYmxlc30pLn0uCiAKIEBpdGVtIC0tZGVidWct aW5pdAogQG9waW5kZXggLS1kZWJ1Zy1pbml0CkBAIC02MDAsNiArNjAyLDExIEBAIGRvZXMgbm90 IHVzZSBAZW52e1RafSBhdCBhbGwuCiBAaXRlbSBVU0VSCiBUaGUgdXNlcidzIGxvZ2luIG5hbWUu ICBTZWUgYWxzbyBAZW52e0xPR05BTUV9LiAgT24gTVMtRE9TLCB0aGlzCiBkZWZhdWx0cyB0byBA c2FtcHtyb290fS4KK0BpdGVtIEVNQUNTX1VTRVJfRElSRUNUT1JZCitUaGlzIHNwZWNpZmllcyBh IGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgaW5pdGlhbGl6YXRpb24gZmlsZSB3aWxsIGJlCitsb29r ZWQgZm9yOyBAeHJlZntGaW5kIEluaXR9LiBUaGlzIGRpcmVjdG9yeSB3aWxsIGFsc28gYmUgdXNl ZCBhcyB0aGUKK2RlZmF1bHQgcGxhY2Ugd2hlcmUgdXNlci1zcGVjaWZpYyBjb25maWd1cmF0aW9u IGRhdGEgd2lsbCBiZSBzdG9yZWQ7CitAeHJlZntTdGFuZGFyZCBGaWxlIE5hbWVzLCwsIGVsaXNw fS4KIEBpdGVtIFZFUlNJT05fQ09OVFJPTAogVXNlZCB0byBpbml0aWFsaXplIHRoZSBAY29kZXt2 ZXJzaW9uLWNvbnRyb2x9IHZhcmlhYmxlIChAcHhyZWZ7QmFja3VwCiBOYW1lc30pLgpkaWZmIC0t Z2l0IGEvZG9jL2VtYWNzL2N1c3RvbS50ZXhpIGIvZG9jL2VtYWNzL2N1c3RvbS50ZXhpCmluZGV4 IDlmZDgyM2IuLjFlMWQ0ODIgMTAwNjQ0Ci0tLSBhL2RvYy9lbWFjcy9jdXN0b20udGV4aQorKysg Yi9kb2MvZW1hY3MvY3VzdG9tLnRleGkKQEAgLTI1MTYsNiArMjUxNiwxNCBAQCBvdGhlcndpc2Us IGl0IGxvb2tzIHVwIHRoZSBob21lIGRpcmVjdG9yeSBjb3JyZXNwb25kaW5nIHRvIHRoYXQgdXNl cgogbmFtZSBpbiB0aGUgc3lzdGVtJ3MgZGF0YSBiYXNlIG9mIHVzZXJzLgogQGMgIExvY2FsV29y ZHM6ICBiYWNrdGFiCiAKKyAgVGhlIHdob2xlIG1lY2hhbmlzbSBkZXNjcmliZWQgYWJvdmUgaXMg YnlwYXNzZWQgaWYgdGhlCitAZW52e0VNQUNTX1VTRVJfRElSRUNUT1JZfSBlbnZpcm9ubWVudCB2 YXJpYWJsZSBpcyBzcGVjaWZpZWQsIGluIHdoaWNoCitjYXNlIEVtYWNzIGRpcmVjdGx5IGxvb2tz IGZvciBAZmlsZXtpbml0LmVsfSBpbnNpZGUgdGhlIGRpcmVjdG9yeQorc3BlY2lmaWVkIGJ5IEBl bnZ7RU1BQ1NfVVNFUl9ESVJFQ1RPUll9IChAcHhyZWZ7R2VuZXJhbCBWYXJpYWJsZXN9KS4KK1Ro aXMgZGlyZWN0b3J5IGlzIGFsc28gdXNlZCB0byBob2xkIHVzZXItc3BlY2lmaWMgY29uZmlndXJh dGlvbgorKEBweHJlZntTdGFuZGFyZCBGaWxlIE5hbWVzLCwsIGVsaXNwfSkuCisKKwogQG5vZGUg SW5pdCBOb24tQVNDSUkKIEBzdWJzZWN0aW9uIE5vbi1AYWNyb255bXtBU0NJSX0gQ2hhcmFjdGVy cyBpbiBJbml0IEZpbGVzCiBAY2luZGV4IGludGVybmF0aW9uYWwgY2hhcmFjdGVycyBpbiBAZmls ZXsuZW1hY3N9CmRpZmYgLS1naXQgYS9saXNwL2N1c3RvbS5lbCBiL2xpc3AvY3VzdG9tLmVsCmlu ZGV4IGU1ZmUwZWIuLjM2OTgzYWEgMTAwNjQ0Ci0tLSBhL2xpc3AvY3VzdG9tLmVsCisrKyBiL2xp c3AvY3VzdG9tLmVsCkBAIC0xMTE5LDYgKzExMTksNyBAQCBkaXJlY3RvcnkuICBCeSBkZWZhdWx0 LCBFbWFjcyBzZWFyY2hlcyBmb3IgY3VzdG9tIHRoZW1lcyBpbiB0aGlzCiBkaXJlY3RvcnkgZmly c3QtLS1zZWUgYGN1c3RvbS10aGVtZS1sb2FkLXBhdGgnLiIKICAgOnR5cGUgJ3N0cmluZwogICA6 Z3JvdXAgJ2N1c3RvbWl6ZQorICA6aW5pdGlhbGl6ZSAnY3VzdG9tLWluaXRpYWxpemUtZGVsYXkK ICAgOnZlcnNpb24gIjIyLjEiKQogCiAoZGVmY3VzdG9tIGN1c3RvbS10aGVtZS1sb2FkLXBhdGgg KGxpc3QgJ2N1c3RvbS10aGVtZS1kaXJlY3RvcnkgdCkKZGlmZiAtLWdpdCBhL2xpc3Avc3RhcnR1 cC5lbCBiL2xpc3Avc3RhcnR1cC5lbAppbmRleCA3ZmE5MjlhLi4yYjJjMzI0IDEwMDY0NAotLS0g YS9saXNwL3N0YXJ0dXAuZWwKKysrIGIvbGlzcC9zdGFydHVwLmVsCkBAIC0zOTcsNyArMzk3LDgg QEAgU2V0IHRoaXMgdG8gbmlsIGlmIHlvdSB3YW50IHRvIHByZXZlbnQgYGF1dG8tc2F2ZS1saXN0 LWZpbGUtbmFtZScKIGZyb20gYmVpbmcgaW5pdGlhbGl6ZWQuIgogICA6dHlwZSAnKGNob2ljZSAo Y29uc3QgOnRhZyAiRG9uJ3QgcmVjb3JkIGEgc2Vzc2lvbidzIGF1dG8gc2F2ZSBsaXN0IiBuaWwp CiAJCSBzdHJpbmcpCi0gIDpncm91cCAnYXV0by1zYXZlKQorICA6Z3JvdXAgJ2F1dG8tc2F2ZQor ICA6aW5pdGlhbGl6ZSAnY3VzdG9tLWluaXRpYWxpemUtZGVsYXkpCiAKIChkZWZ2YXIgZW1hY3Mt YmFzaWMtZGlzcGxheSBuaWwpCiAKQEAgLTgxNCw2ICs4MTUsMTIgQEAgQW1vbmdzdCBhbm90aGVy IHRoaW5ncywgaXQgcGFyc2VzIHRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzLiIKIAkgICgobWVt YmVyIHZjICcoIm5ldmVyIiAic2ltcGxlIikpCiAJICAgKHNldHEgdmVyc2lvbi1jb250cm9sICdu ZXZlcikpKSkKIAorICA7OyBTZXQgYHVzZXItZW1hY3MtZGlyZWN0b3J5JyBlYXJseSBzbyB0aGF0 IGRlbGF5ZWQgaW5pdCB2YXJpYWJsZXMKKyAgOzsgY2FuIGJlIHVwZGF0ZWQuCisgIChsZXQgKCh1 ZWQgKGdldGVudiAiRU1BQ1NfVVNFUl9ESVJFQ1RPUlkiKSkpCisgICAgKHdoZW4gdWVkCisgICAg ICAoc2V0cSB1c2VyLWVtYWNzLWRpcmVjdG9yeSAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSB1ZWQp KSkpCisKICAgOzshIFRoaXMgaGFzIGJlZW4gY29tbWVudGVkIG91dDsgSSBjdXJyZW50bHkgZmlu ZCB0aGUgYmVoYXZpb3Igd2hlbgogICA7OyEgc3BsaXQtd2luZG93LWtlZXAtcG9pbnQgaXMgbmls IGRpc3R1cmJpbmcsIGJ1dCBpZiBJIGNhbiBnZXQgdXNlZAogICA7OyEgdG8gaXQsIHRoZW4gaXQg d291bGQgYmUgYmV0dGVyIHRvIGVsaW1pbmF0ZSB0aGUgb3B0aW9uLgpAQCAtMTEwMSwxMSArMTEw OCwxNSBAQCBwbGVhc2UgY2hlY2sgaXRzIHZhbHVlIikKIAkJCQkgICAgZGVsYXllZC13YXJuaW5n cy1saXN0KQogCQkJICAgICAgIn4vX2VtYWNzIikKIAkJCSAgICAgKHQgOzsgQnV0IGRlZmF1bHQg dG8gLmVtYWNzIGlmIF9lbWFjcyBkb2VzIG5vdCBleGlzdC4KLQkJCSAgICAgICJ+Ly5lbWFjcyIp KSkpCisJCQkgICAgICAifi8uZW1hY3MiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICh1 c2VyLWVtYWNzLWRpcmVjdG9yeS0tZnJvbS1lbnYgKGdldGVudiAiRU1BQ1NfVVNFUl9ESVJFQ1RP UlkiKSkpCiAJCSAgICAgIDs7IFRoaXMgdGVsbHMgYGxvYWQnIHRvIHN0b3JlIHRoZSBmaWxlIG5h bWUgZm91bmQKIAkJICAgICAgOzsgaW50byB1c2VyLWluaXQtZmlsZS4KIAkJICAgICAgKHNldHEg dXNlci1pbml0LWZpbGUgdCkKLQkJICAgICAgKGxvYWQgdXNlci1pbml0LWZpbGUtMSB0IHQpCisK KyAgICAgICAgICAgICAgICAgICAgICA7OyBEb24ndCBsb2FkIGB+Ly5lbWFjcycgaWYgRU1BQ1Nf VVNFUl9ESVJFQ1RPUlkgd2FzIHNldAorICAgICAgICAgICAgICAgICAgICAgICh1bmxlc3MgdXNl ci1lbWFjcy1kaXJlY3RvcnktLWZyb20tZW52CisgICAgICAgICAgICAgICAgICAgICAgICAobG9h ZCB1c2VyLWluaXQtZmlsZS0xIHQgdCkpCiAKIAkJICAgICAgKHdoZW4gKGVxIHVzZXItaW5pdC1m aWxlIHQpCiAJCQk7OyBJZiB3ZSBkaWQgbm90IGZpbmQgfi8uZW1hY3MsIHRyeQpAQCAtMTExNCw3 ICsxMTI1LDkgQEAgcGxlYXNlIGNoZWNrIGl0cyB2YWx1ZSIpCiAJCQkgICAgICAgKGV4cGFuZC1m aWxlLW5hbWUKIAkJCQkiaW5pdCIKIAkJCQkoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeQotCQkJCSAo Y29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlciAiLy5lbWFjcy5kIikpKSkpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoaWYgdXNlci1lbWFjcy1kaXJlY3RvcnktLWZyb20tZW52Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1lbWFjcy1kaXJlY3RvcnkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCAifiIgaW5pdC1maWxl LXVzZXIgIi8uZW1hY3MuZCIpKSkpKSkKIAkJCSAgKGxvYWQgb3RoZXJmaWxlIHQgdCkKIAogCQkJ ICA7OyBJZiB3ZSBkaWQgbm90IGZpbmQgdGhlIHVzZXIncyBpbml0IGZpbGUsCi0tIAoxLjcuMi41 Cgo= --001a1147a67c8dfcdb0511fcfa47--