From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Fran=C3=A7ois_?= =?UTF-8?Q?F=C3=A9votte?= Newsgroups: gmane.emacs.bugs Subject: bug#15539: Setting user-emacs-directory at command line invocation Date: Fri, 13 Mar 2015 16:01:55 +0100 Message-ID: References: <87wqlqiayq.fsf@carifio.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11473bb208e5b305112cc866 X-Trace: ger.gmane.org 1426261956 16783 80.91.229.3 (13 Mar 2015 15:52:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 13 Mar 2015 15:52:36 +0000 (UTC) To: 15539@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Mar 13 16:52:23 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1YWRss-0001us-0t for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Mar 2015 16:52:22 +0100 Original-Received: from localhost ([::1]:37425 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWRsr-0003r3-Da for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Mar 2015 11:52:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48830) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWRsl-0003od-TH for bug-gnu-emacs@gnu.org; Fri, 13 Mar 2015 11:52:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YWRsY-0002BV-1F for bug-gnu-emacs@gnu.org; Fri, 13 Mar 2015 11:52:15 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46736) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YWRsX-0002BL-TZ for bug-gnu-emacs@gnu.org; Fri, 13 Mar 2015 11:52:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YWRsX-0000XC-JB for bug-gnu-emacs@gnu.org; Fri, 13 Mar 2015 11:52:01 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <87wqlqiayq.fsf@carifio.org> Resent-From: =?UTF-8?Q?Fran=C3=A7ois_?= =?UTF-8?Q?F=C3=A9votte?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Mar 2015 15:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15539 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15539-submit@debbugs.gnu.org id=B15539.14262619092034 (code B ref 15539); Fri, 13 Mar 2015 15:52:01 +0000 Original-Received: (at 15539) by debbugs.gnu.org; 13 Mar 2015 15:51:49 +0000 Original-Received: from localhost ([127.0.0.1]:45304 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YWRsK-0000Wj-AR for submit@debbugs.gnu.org; Fri, 13 Mar 2015 11:51:49 -0400 Original-Received: from mail-qc0-f180.google.com ([209.85.216.180]:40045) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YWR69-0007eF-JT for 15539@debbugs.gnu.org; Fri, 13 Mar 2015 11:02:06 -0400 Original-Received: by qcvs11 with SMTP id s11so27186378qcv.7 for <15539@debbugs.gnu.org>; Fri, 13 Mar 2015 08:01:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=K2KhujtI8KekPD/OfIVQCw5o5YomoO3l2t6qTomqtIo=; b=nZc9rjkdYESVCYDE3VS7w4g7xDFf8eKhSalQcDv2e7e2lY7ubzjRpXcb6aXFNFydch 1MrQaIFta8hAPfXkvE+VrCYwS27s6/gSuaCOjzY7HXSobJ0L24kbC1SyvGbW0mm9UOBt 5dNr1h05M4pe9hZNPRlZjzy52j9QHFwj+DL+U/YwnbSHJrLBKZbfbGe3DuldDtC0eS7c wG+8/jvK30umIgqNFkNqjUYCXk7xhly7lt3l1457rs6NejOYYyBekRI5D0alogRqoXKt jBs5ODGO5lU3tnb6b2EsI05MQFm5NjlkxN/SB6+xhd/DC22j42UAaD50aD3uofOEO+nR EalA== X-Received: by 10.55.23.161 with SMTP id 33mr52134005qkx.62.1426258915770; Fri, 13 Mar 2015 08:01:55 -0700 (PDT) Original-Received: by 10.229.233.195 with HTTP; Fri, 13 Mar 2015 08:01:55 -0700 (PDT) X-Google-Sender-Auth: Tu83JwMfQGyi_to0Jg2-puZScVI X-Mailman-Approved-At: Fri, 13 Mar 2015 11:51:46 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x 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: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:100445 Archived-At: --001a11473bb208e5b305112cc866 Content-Type: multipart/alternative; boundary=001a11473bb208e5ae05112cc864 --001a11473bb208e5ae05112cc864 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, attached is a patch which tries to implement the desired feature. It should apply cleanly atop master (b91eafe31a524b391d5cec079cf8f36c2f9d5f30) With this patch, emacs accepts a new command line argument: --user-emacs-directory=3DDIR which has two effects: 1. it sets the `user-emacs-directory' variable to DIR (instead of the default "~/.emacs.d") 2. it looks for the init file in DIR/init.el (and only there: ~/.emacs & co are bypassed) This doesn't impact anything else in emacs' startup sequence. Implementationwise, I'm not very proud of having to define a new global variable, but I fail to see how to do otherwise, except maybe wrapping the whole `command-line' function in a let form to use a local binding. Please do not hesitate to criticize or ask me for any modification which would be desirable. This is the first patch I propose to emacs; I don't expect to have it right on the first try. Thanks in advance, Fran=C3=A7ois --001a11473bb208e5ae05112cc864 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hello,
attached is a patch which tries to implement the desired feature. It= should apply cleanly atop master (b91eafe31a524b391d5cec079cf8f36c2f9d5f30= )

With this patch, emacs accepts a new command line argument:<= br>=C2=A0 =C2=A0 --user-emacs-directory=3DDIR
which has two effects:
= 1. it sets the `user-emacs-directory' variable to DIR (instead of the d= efault "~/.emacs.d")
2. it looks for the init file= in DIR/init.el (and only there: ~/.emacs & co are bypassed)

This doesn't impact anything else in emacs' startup sequence.
Implementationwise, I'm not very proud of having to define a= new global variable, but I fail to see how to do otherwise, except maybe w= rapping the whole `command-line' function in a let form to use a local = binding.

Please do not hesitate to criticize or ask me for any= modification which would be desirable. This is the first patch I propose t= o emacs; I don't expect to have it right on the first try.

Thanks in advance,

=C2=A0=C2=A0=C2=A0 Fran=C3=A7ois
--001a11473bb208e5ae05112cc864-- --001a11473bb208e5b305112cc866 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Add-a-user-emacs-directory-command-line-option.patch" Content-Disposition: attachment; filename="0001-Add-a-user-emacs-directory-command-line-option.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i77pabhg0 RnJvbSBjYjZlNTJiM2NkMWJiNmZmMjNhNWM4OWI5ODM4MTY5ZWEyMTZjZjliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMEY9QzM9QTl2b3R0 ZT89IDxmZXZvdHRlQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxMyBNYXIgMjAxNSAxNTowMTowMiAr MDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBhIGAtLXVzZXItZW1hY3MtZGlyZWN0b3J5JyBjb21t YW5kLWxpbmUgb3B0aW9uCgpUaGlzIHNldHMgYHVzZXItZW1hY3MtZGlyZWN0b3J5JyBhbmQgbG9v a3MgZm9yIGBpbml0LmVsJyBpbiBpdC4KCkZpeGVzOiBidWcjMTU1MzkKLS0tCiBkb2MvZW1hY3Mv Y21kYXJncy50ZXhpIHwgICAxMCArKysrKysrKystCiBsaXNwL3N0YXJ0dXAuZWwgICAgICAgIHwg ICAxNiArKysrKysrKysrKysrLS0tCiBsaXNwL3N1YnIuZWwgICAgICAgICAgIHwgICAgNCArKysr CiAzIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZG9jL2VtYWNzL2NtZGFyZ3MudGV4aSBiL2RvYy9lbWFjcy9jbWRhcmdzLnRleGkK aW5kZXggNDJjOGUzMy4uYmU4M2FhYSAxMDA2NDQKLS0tIGEvZG9jL2VtYWNzL2NtZGFyZ3MudGV4 aQorKysgYi9kb2MvZW1hY3MvY21kYXJncy50ZXhpCkBAIC0zNDksNyArMzQ5LDE1IEBAIERvIG5v dCByZWxvYWQgYW55IHNhdmVkIGRlc2t0b3AuICBAeHJlZntTYXZpbmcgRW1hY3MgU2Vzc2lvbnN9 LgogQG9waW5kZXggLS11c2VyCiBAY2luZGV4IGxvYWQgaW5pdCBmaWxlIG9mIGFub3RoZXIgdXNl cgogTG9hZCBAdmFye3VzZXJ9J3MgaW5pdGlhbGl6YXRpb24gZmlsZSBpbnN0ZWFkIG9mIHlvdXIK LW93bkBmb290bm90ZXtUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIE1TLVdpbmRvd3MufS4K K293bkBmb290bm90ZXtUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIE1TLVdpbmRvd3MsIG5v ciB3aGVuCitAc2FtcHstLXVzZXItZW1hY3MtZGlyZWN0b3J5fSBpcyB1c2VkfS4KKworQGl0ZW0g LS11c2VyLWVtYWNzLWRpcmVjdG9yeT1AdmFye2Rpcn0KK0BvcGluZGV4IC0tdXNlci1lbWFjcy1k aXJlY3RvcnkKK0xvb2sgZm9yIHRoZSBpbml0aWFsaXphdGlvbiBmaWxlIGluIEB2YXJ7ZGlyfSwg aW5zdGVhZCBvZiB0aGUgZGVmYXVsdAorQGZpbGV7fi8uZW1hY3MuZC99OyBAcHhyZWZ7SW5pdCBG aWxlfS4gIEB2YXJ7ZGlyfSB3aWxsIGFsc28gYmUgdXNlZCBhcwordGhlIGRlZmF1bHQgZGlyZWN0 b3J5IHdoZXJlIHVzZXItc3BlY2lmaWMgY29uZmlndXJhdGlvbiBkYXRhIHdpbGwgYmUKK3N0b3Jl ZDsgQHhyZWZ7U3RhbmRhcmQgRmlsZSBOYW1lcywsLCBlbGlzcH0uCiAKIEBpdGVtIC0tZGVidWct aW5pdAogQG9waW5kZXggLS1kZWJ1Zy1pbml0CmRpZmYgLS1naXQgYS9saXNwL3N0YXJ0dXAuZWwg Yi9saXNwL3N0YXJ0dXAuZWwKaW5kZXggOTk5ZTUzZS4uNmYyNWM2NSAxMDA2NDQKLS0tIGEvbGlz cC9zdGFydHVwLmVsCisrKyBiL2xpc3Avc3RhcnR1cC5lbApAQCAtODc3LDcgKzg3Nyw3IEBAIHBs ZWFzZSBjaGVjayBpdHMgdmFsdWUiKQogICAgICh3aGlsZSAoYW5kIChub3QgZG9uZSkgYXJncykK ICAgICAgIChsZXQqICgobG9uZ29wdHMgJygoIi0tbm8taW5pdC1maWxlIikgKCItLW5vLXNpdGUt ZmlsZSIpICgiLS1kZWJ1Zy1pbml0IikKICAgICAgICAgICAgICAgICAgICAgICAgICAoIi0tdXNl ciIpICgiLS1pY29uaWMiKSAoIi0taWNvbi10eXBlIikgKCItLXF1aWNrIikKLQkJCSAoIi0tbm8t YmxpbmtpbmctY3Vyc29yIikgKCItLWJhc2ljLWRpc3BsYXkiKSkpCisJCQkgKCItLW5vLWJsaW5r aW5nLWN1cnNvciIpICgiLS1iYXNpYy1kaXNwbGF5IikgKCItLXVzZXItZW1hY3MtZGlyZWN0b3J5 IikpKQogICAgICAgICAgICAgIChhcmdpIChwb3AgYXJncykpCiAgICAgICAgICAgICAgKG9yaWct YXJnaSBhcmdpKQogICAgICAgICAgICAgIGFyZ3ZhbCkKQEAgLTkyNCw2ICs5MjQsMTAgQEAgcGxl YXNlIGNoZWNrIGl0cyB2YWx1ZSIpCiAJICAocHVzaCAnKHZpc2liaWxpdHkgLiBpY29uKSBpbml0 aWFsLWZyYW1lLWFsaXN0KSkKIAkgKChtZW1iZXIgYXJnaSAnKCItbmJjIiAiLW5vLWJsaW5raW5n LWN1cnNvciIpKQogCSAgKHNldHEgbm8tYmxpbmtpbmctY3Vyc29yIHQpKQorCSAoKGVxdWFsIGFy Z2kgIi11c2VyLWVtYWNzLWRpcmVjdG9yeSIpCisJICAoc2V0cSB1c2VyLWVtYWNzLWRpcmVjdG9y eSAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSAob3IgYXJndmFsIChwb3AgYXJncykpKQorCQl1c2Vy LWVtYWNzLWRpcmVjdG9yeS0tc2V0IHQKKwkJYXJndmFsIG5pbCkpCiAJIDs7IFB1c2ggdGhlIHBv cHBlZCBhcmcgYmFjayBvbiB0aGUgbGlzdCBvZiBhcmd1bWVudHMuCiAJICh0CiAgICAgICAgICAg KHB1c2ggYXJnaSBhcmdzKQpAQCAtMTEwMiw3ICsxMTA2LDExIEBAIHBsZWFzZSBjaGVjayBpdHMg dmFsdWUiKQogCQkgICAgICA7OyBUaGlzIHRlbGxzIGBsb2FkJyB0byBzdG9yZSB0aGUgZmlsZSBu YW1lIGZvdW5kCiAJCSAgICAgIDs7IGludG8gdXNlci1pbml0LWZpbGUuCiAJCSAgICAgIChzZXRx IHVzZXItaW5pdC1maWxlIHQpCi0JCSAgICAgIChsb2FkIHVzZXItaW5pdC1maWxlLTEgdCB0KQor CisJCSAgICAgIDs7IERvbid0IHRyeSB0byByZWFkIGB+Ly5lbWFjcycgaWYgdGhlIHVzZXIgcHJv dmlkZWQgYQorCQkgICAgICA7OyBjdXN0b20gYHVzZXItZW1hY3MtZGlyZWN0b3J5JyBpbiB0aGUg Y29tbWFuZC1saW5lLgorCQkgICAgICAodW5sZXNzIHVzZXItZW1hY3MtZGlyZWN0b3J5LS1zZXQK KwkJCShsb2FkIHVzZXItaW5pdC1maWxlLTEgdCB0KSkKIAogCQkgICAgICAod2hlbiAoZXEgdXNl ci1pbml0LWZpbGUgdCkKIAkJCTs7IElmIHdlIGRpZCBub3QgZmluZCB+Ly5lbWFjcywgdHJ5CkBA IC0xMTExLDcgKzExMTksOSBAQCBwbGVhc2UgY2hlY2sgaXRzIHZhbHVlIikKIAkJCSAgICAgICAo ZXhwYW5kLWZpbGUtbmFtZQogCQkJCSJpbml0IgogCQkJCShmaWxlLW5hbWUtYXMtZGlyZWN0b3J5 Ci0JCQkJIChjb25jYXQgIn4iIGluaXQtZmlsZS11c2VyICIvLmVtYWNzLmQiKSkpKSkKKwkJCQkg KGlmIHVzZXItZW1hY3MtZGlyZWN0b3J5LS1zZXQKKwkJCQkgICAgIHVzZXItZW1hY3MtZGlyZWN0 b3J5CisJCQkJICAgKGNvbmNhdCAifiIgaW5pdC1maWxlLXVzZXIgIi8uZW1hY3MuZCIpKSkpKSkK IAkJCSAgKGxvYWQgb3RoZXJmaWxlIHQgdCkKIAogCQkJICA7OyBJZiB3ZSBkaWQgbm90IGZpbmQg dGhlIHVzZXIncyBpbml0IGZpbGUsCmRpZmYgLS1naXQgYS9saXNwL3N1YnIuZWwgYi9saXNwL3N1 YnIuZWwKaW5kZXggZGVhZGNhNi4uYzVjODFiNyAxMDA2NDQKLS0tIGEvbGlzcC9zdWJyLmVsCisr KyBiL2xpc3Avc3Vici5lbApAQCAtMjU0NSw2ICsyNTQ1LDEwIEBAIG1vZGUuIikKIFZhcmlvdXMg cHJvZ3JhbXMgaW4gRW1hY3Mgc3RvcmUgaW5mb3JtYXRpb24gaW4gdGhpcyBkaXJlY3RvcnkuCiBO b3RlIHRoYXQgdGhpcyBzaG91bGQgZW5kIHdpdGggYSBkaXJlY3Rvcnkgc2VwYXJhdG9yLgogU2Vl IGFsc28gYGxvY2F0ZS11c2VyLWVtYWNzLWZpbGUnLiIpCisKKyhkZWZ2YXIgdXNlci1lbWFjcy1k aXJlY3RvcnktLXNldCBuaWwKKyAgIk5vbi1uaWwgaWYgdGhlIHVzZXIgcHJvdmlkZWQgYSBjdXN0 b20gdmFsdWUgZm9yIGB1c2VyLWVtYWNzLWRpcmVjdG9yeScuCitUaGlzIGNhbiBiZSBkb25lIHZp YSB0aGUgYC0tdXNlci1lbWFjcy1kaXJlY3RvcnknIGNvbW1hbmQtbGluZSBzd2l0Y2guIikKIAwK IDs7OzsgTWlzYy4gdXNlZnVsIGZ1bmN0aW9ucy4KIAotLSAKMS43LjIuNQoK --001a11473bb208e5b305112cc866--