From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Evgeny Roubinchtein Newsgroups: gmane.emacs.bugs Subject: bug#21687: Proposed patch to nt/runemacs.c: a way to augment environment variables prior to starting Em Date: Wed, 14 Oct 2015 18:59:26 -0700 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7b86da52611ed805221b0783 X-Trace: ger.gmane.org 1444875580 12713 80.91.229.3 (15 Oct 2015 02:19:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 15 Oct 2015 02:19:40 +0000 (UTC) To: 21687@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 15 04:19:28 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 1ZmY8d-0003Ie-Uw for geb-bug-gnu-emacs@m.gmane.org; Thu, 15 Oct 2015 04:19:28 +0200 Original-Received: from localhost ([::1]:45415 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmY8d-0008TB-4G for geb-bug-gnu-emacs@m.gmane.org; Wed, 14 Oct 2015 22:19:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42467) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmY7H-0008RF-Dh for bug-gnu-emacs@gnu.org; Wed, 14 Oct 2015 22:18:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZmY7G-0004Yd-FN for bug-gnu-emacs@gnu.org; Wed, 14 Oct 2015 22:18:03 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:60614) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmY7G-0004Xq-Bb for bug-gnu-emacs@gnu.org; Wed, 14 Oct 2015 22:18:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZmY7F-0007Wu-TW for bug-gnu-emacs@gnu.org; Wed, 14 Oct 2015 22:18:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Evgeny Roubinchtein Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Oct 2015 02:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21687 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.144487545828904 (code B ref -1); Thu, 15 Oct 2015 02:18:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 15 Oct 2015 02:17:38 +0000 Original-Received: from localhost ([127.0.0.1]:51322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmY6q-0007W7-Vn for submit@debbugs.gnu.org; Wed, 14 Oct 2015 22:17:37 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:58080) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZmXpL-00075P-9K for submit@debbugs.gnu.org; Wed, 14 Oct 2015 21:59:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZmXpJ-0006it-Us for submit@debbugs.gnu.org; Wed, 14 Oct 2015 21:59:30 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:43727) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmXpJ-0006im-S7 for submit@debbugs.gnu.org; Wed, 14 Oct 2015 21:59:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39836) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmXpI-0006QV-T7 for bug-gnu-emacs@gnu.org; Wed, 14 Oct 2015 21:59:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZmXpH-0006ge-Tq for bug-gnu-emacs@gnu.org; Wed, 14 Oct 2015 21:59:28 -0400 Original-Received: from mail-wi0-x233.google.com ([2a00:1450:400c:c05::233]:36966) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmXpH-0006gY-J6 for bug-gnu-emacs@gnu.org; Wed, 14 Oct 2015 21:59:27 -0400 Original-Received: by wijq8 with SMTP id q8so107675939wij.0 for ; Wed, 14 Oct 2015 18:59:26 -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=0IeSSzlPjZ2F9GHhgScuhQk2i8AEGypBeu44dlMC4Bo=; b=moRtb6S8Oi/yerRy17t3jx+VDx/BAfYd11uAK6XYSybD3wrr4e8q7XlAHySFRnBbMP L0TlwcaU5kGawO2DBQm98tntUozfIzEXXtIzdSIcgBHG3FymRUc/cKymmItTSD+bbKC5 un8SsfTy9wEzuhMXSMZt/fwxCABJ+MHtVTVH0WW+Rd1UeCrLv+OvjjCnbEtZrLqVYimY I/qJ6lUzKq4gekSsfSjYW8Td4EIgkaK6tYr84HWbou1Q0iaSUhQscAhkAUShJkGdnwkv b3KqLLTlwIuzTk5c8Ly1bwJ3BeqVYWPs0hC1rRduq4/7lKHUVC1dP+I/HCHKt/+YBhSv Ve7w== X-Received: by 10.194.48.102 with SMTP id k6mr8423455wjn.124.1444874366811; Wed, 14 Oct 2015 18:59:26 -0700 (PDT) Original-Received: by 10.28.213.76 with HTTP; Wed, 14 Oct 2015 18:59:26 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Wed, 14 Oct 2015 22:17:36 -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: 208.118.235.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:107629 Archived-At: --047d7b86da52611ed805221b0783 Content-Type: text/plain; charset=UTF-8 Dear Emacs developers, Would you consider applying the attached patch to nt/runemacs.c? My "use case" is that I compiled 64-bit Emacs under Windows following instructions at http://sourceforge.net/p/emacsbinw64/wiki/Build%20guideline%20for%20MSYS2-MinGW-w64%20system/, but I want to avoid copying libraries from ${msys2_root}/mingw64/bin to the Emacs installation directory, and I also don't want to add ${msys2_root}/mingw64/bin to the PATH for my user account (let alone system-wide). The attached patch gives me a way to augment system environment variables before runemacs starts the actual emacs executable. With this patch applied, I can set the environment variable EMACS_ENV to ">PATH>${msys2_root}/mingw64/bin", and have that directory appended to the PATH but only in the environment of the runemacs process. That environment is inherited by the emacs process, so I can allow Emacs to find the libraries it needs in order to run without copying them to the Emacs installation directory and without altering the PATH for my user account. Please let me know if it would be possible to get this patch applied to the Emacs sources. Thank you in advance! --047d7b86da52611ed805221b0783 Content-Type: application/octet-stream; name="0001-Allow-the-environment-of-the-runemacs-process-to-be-.patch" Content-Disposition: attachment; filename="0001-Allow-the-environment-of-the-runemacs-process-to-be-.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ifrkv2hg0 RnJvbSBhZTYzOGRjMWYzZDQ5NTIzNTUyOTAxZjRlNTZlZGE3ODVkM2UyODZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFdmdlbnkgUm91YmluY2h0ZWluIDx6aGVueWExMDA3QGdtYWls LmNvbT4KRGF0ZTogVGh1LCAxNSBPY3QgMjAxNSAwMjo1MToyMCArMDEwMApTdWJqZWN0OiBbUEFU Q0hdIEFsbG93IHRoZSBlbnZpcm9ubWVudCBvZiB0aGUgcnVuZW1hY3MgcHJvY2VzcyB0byBiZQog YXVnbWVudGVkLgoKVGhlIHVzZXIgbWF5IGF1Z21lbnQgdGhlIGVudmlyb25tZW50IG9mIHRoZSBy dW5lbWFjcyBwcm9jZXNzIChhbmQgdGhlCmVtYWNzIHByb2Nlc3Mgc3RhcnRlZCBieSBydW5lbWFj cykgYnkgc2V0dGluZyB0aGUgIkVNQUNTX0VOViIKZW52aXJvbm1lbnQgdmFyaWFibGUuCi0tLQog bnQvcnVuZW1hY3MuYyB8IDEwMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9udC9ydW5lbWFjcy5jIGIvbnQvcnVuZW1hY3Mu YwppbmRleCA4NjY0NGI0Li4yNmZiZDY3IDEwMDY0NAotLS0gYS9udC9ydW5lbWFjcy5jCisrKyBi L250L3J1bmVtYWNzLmMKQEAgLTQ2LDYgKzQ2LDcgQEAgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwogCiBzdGF0aWMg dm9pZCBzZXRfdXNlcl9tb2RlbF9pZCAodm9pZCk7CiBzdGF0aWMgaW50IGVuc3VyZV91bmljb3dz X2RsbCAodm9pZCk7CitzdGF0aWMgdm9pZCBleHBhbmRfZW1hY3NfZW52ICh2b2lkKTsKIAogaW50 IFdJTkFQSQogV2luTWFpbiAoSElOU1RBTkNFIGhTZWxmLCBISU5TVEFOQ0UgaFByZXYsIExQU1RS IGNtZGxpbmUsIGludCBuU2hvdykKQEAgLTE2Niw2ICsxNjcsOCBAQCBXaW5NYWluIChISU5TVEFO Q0UgaFNlbGYsIEhJTlNUQU5DRSBoUHJldiwgTFBTVFIgY21kbGluZSwgaW50IG5TaG93KQogICAg ICAgU2V0RW52aXJvbm1lbnRWYXJpYWJsZSAoImVtYWNzX2RpciIsIG1vZG5hbWUpOwogICAgIH0K IAorICBleHBhbmRfZW1hY3NfZW52ICgpOworCiAgIG1lbXNldCAoJnN0YXJ0LCAwLCBzaXplb2Yg KHN0YXJ0KSk7CiAgIHN0YXJ0LmNiID0gc2l6ZW9mIChzdGFydCk7CiAgIHN0YXJ0LmR3RmxhZ3Mg PSBTVEFSVEZfVVNFU0hPV1dJTkRPVyB8IFNUQVJURl9VU0VDT1VOVENIQVJTOwpAQCAtMjU3LDcg KzI2MCw3IEBAIGVuc3VyZV91bmljb3dzX2RsbCAodm9pZCkKIAkgICAgewogCSAgICAgIGNhc2Ug SURPSzoKIAkgICAgICBkZWZhdWx0OgotCSAgICAgICAgcmV0dXJuIDA7CisJCXJldHVybiAwOwog CSAgICB9CiAJfQogICAgICAgRnJlZUxpYnJhcnkgKGgpOwpAQCAtMjY1LDMgKzI2OCw5OSBAQCBl bnN1cmVfdW5pY293c19kbGwgKHZvaWQpCiAgICAgfQogICByZXR1cm4gMTsKIH0KKworc3RhdGlj IGludAorZ2V0X2Vudl92YXIoY2hhciBjb25zdCAqY29uc3QgbmFtZSwgY2hhciAqKmJ1ZikKK3sK KyAgaW50IGxlbjsKKyAgbGVuID0gR2V0RW52aXJvbm1lbnRWYXJpYWJsZShuYW1lLCBOVUxMLCAw KTsKKyAgaWYgKDAgPT0gbGVuKQorICAgIHJldHVybiAwOworICAqYnVmID0gbWFsbG9jKGxlbik7 CisgIGlmICghKmJ1ZikKKyAgICByZXR1cm4gMDsKKyAgaWYgKCFHZXRFbnZpcm9ubWVudFZhcmlh YmxlIChuYW1lLCAqYnVmLCBsZW4pKQorICAgIHJldHVybiAwOworICByZXR1cm4gMTsKK30KKwor LyogQk5GIGdyYW1tYXI6CisgICBlbWFjc19lbnZfc3RyaW5nID0gJ0VNQUNTX0VOVj0nIHtwcmVw ZW5kX2NsYXVzZXxhcHBlbmRfY2xhdXNlfG92ZXJ3cml0ZV9jbGF1c2V9ICdcMCcKKyAgIHByZXBl bmRfY2xhdXNlID0gJzwnIG5hbWUgJzwnIHZhbHVlCisgICBhcHBlbmRfY2xhdXNlID0gJz4nIG5h bWUgJz4nIHZhbHVlCisgICBvdmVyd3JpdGVfY2xhdXNlID0gJyonIG5hbWUgJyonCisgICAsIHdo ZXJlIG5hbWUgaXMgdmFsaWQgZW52aXJvbm1lbnQgdmFyaWFibGUgbmFtZS4KKyovCitzdGF0aWMg dm9pZAorZXhwYW5kX2VtYWNzX2VudigpCit7CisgIGNoYXIgKmJ1ZjsKKyAgY2hhciAqYjsKKyAg Y2hhciAqZTsKKworICBpZiAoIWdldF9lbnZfdmFyICgiRU1BQ1NfRU5WIiwgJmJ1ZikpCisgICAg Z290byBmcmVlX2J1ZjsKKworICBiID0gZSA9IGJ1ZjsKKyAgd2hpbGUgKE5VTEwgIT0gKGIgPSBz dHJwYnJrIChiLCAiPio8IikpKQorICAgIHsKKyAgICAgIGNoYXIgKmVlOworICAgICAgY2hhciAq dmFsID0gTlVMTDsKKyAgICAgIGNoYXIgKm52YWwgPSBOVUxMOworICAgICAgY2hhciBzZXBbMl0g PSB7J1wwJywgJ1wwJ307CisKKyAgICAgIHNlcFswXSA9ICpiOworICAgICAgKytiOworICAgICAg ZSA9IHN0cnBicmsoYiwgc2VwKTsKKyAgICAgIGlmIChOVUxMID09IGUpCisJZ290byBmcmVlX2J1 ZjsKKyAgICAgIGVsc2UKKwkqZSA9ICdcMCc7CisgICAgICBlZSA9IHN0cnBicmsoZSsxLCBzZXAp OworICAgICAgaWYgKE5VTEwgIT0gZWUpCisJKmVlID0gJ1wwJzsKKyAgICAgIHN3aXRjaCAoc2Vw WzBdKQorCXsKKwljYXNlICc+JzogLyphcHBlbmQqLworCSAgaWYgKCFnZXRfZW52X3ZhciAoYiwg JnZhbCkpCisJICAgIGdvdG8gY2xlYW51cDsKKwkgIG52YWwgPSBtYWxsb2MgKHN0cmxlbih2YWwp ICsgc3RybGVuKGUrMSkgKyAxKTsKKwkgIHN0cmNweShudmFsLCB2YWwpOworCSAgc3RyY2F0KG52 YWwsIGUrMSk7CisJICBpZiAoIVNldEVudmlyb25tZW50VmFyaWFibGUgKGIsIG52YWwpKQorCSAg ICBnb3RvIGNsZWFudXA7CisJICBicmVhazsKKwljYXNlICc8JzogLypwcmVwZW5kKi8KKwkgIGlm ICghZ2V0X2Vudl92YXIgKGIsICZ2YWwpKQorCSAgICBnb3RvIGNsZWFudXA7CisJICBudmFsID0g bWFsbG9jIChzdHJsZW4odmFsKSArIHN0cmxlbihlKzEpICsgMSk7CisJICBzdHJjcHkobnZhbCwg ZSsxKTsKKwkgIHN0cmNhdChudmFsLCB2YWwpOworCSAgaWYgKCFTZXRFbnZpcm9ubWVudFZhcmlh YmxlIChiLCBudmFsKSkKKwkgICAgZ290byBjbGVhbnVwOworCSAgYnJlYWs7CisJY2FzZSAnKic6 IC8qb3ZlcndyaXRlKi8KKwkgIGlmICghU2V0RW52aXJvbm1lbnRWYXJpYWJsZSAoYiwgZSsxKSkK KwkgICAgZ290byBjbGVhbnVwOworCSAgYnJlYWs7CisJZGVmYXVsdDoKKwkgIGdvdG8gY2xlYW51 cDsKKwl9CisgICAgY2xlYW51cDoKKyAgICAgIGlmIChOVUxMICE9IHZhbCkKKwlmcmVlICh2YWwp OworICAgICAgaWYgKE5VTEwgIT0gbnZhbCkKKwlmcmVlIChudmFsKTsKKyAgICAgICplID0gc2Vw WzBdOworICAgICAgaWYgKE5VTEwgIT0gZWUpCisJeworCSAgYiA9IGVlICsgMTsKKwkgICplZSA9 IHNlcFswXTsKKwl9CisgICAgICBlbHNlCisJYiA9IGUgKyAxOworICAgIH0KKyBmcmVlX2J1ZjoK KyAgaWYgKE5VTEwgIT0gYnVmKQorICAgIGZyZWUgKGJ1Zik7Cit9Ci0tIAoyLjYuMS53aW5kb3dz LjEKCg== --047d7b86da52611ed805221b0783--