From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#24956: 26.0.50; On Windows, setting PATH in compilation-environment has no effect Date: Thu, 17 Nov 2016 22:59:06 +0200 Message-ID: <83k2c1esbp.fsf@gnu.org> References: <87wpg383pb.fsf@telefonica.net> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1479416423 25925 195.159.176.226 (17 Nov 2016 21:00:23 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 17 Nov 2016 21:00:23 +0000 (UTC) Cc: ofv@wanadoo.es, 24956@debbugs.gnu.org To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 17 22:00:11 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c7Tn0-0004IN-BP for geb-bug-gnu-emacs@m.gmane.org; Thu, 17 Nov 2016 22:00:10 +0100 Original-Received: from localhost ([::1]:33238 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c7Tn3-0007cq-GS for geb-bug-gnu-emacs@m.gmane.org; Thu, 17 Nov 2016 16:00:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47552) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c7Tmx-0007an-F5 for bug-gnu-emacs@gnu.org; Thu, 17 Nov 2016 16:00:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c7Tms-0004zZ-T9 for bug-gnu-emacs@gnu.org; Thu, 17 Nov 2016 16:00:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:45641) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c7Tms-0004zT-QQ for bug-gnu-emacs@gnu.org; Thu, 17 Nov 2016 16:00:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1c7Tms-0008Dy-Jw for bug-gnu-emacs@gnu.org; Thu, 17 Nov 2016 16:00:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 17 Nov 2016 21:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24956 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 24956-submit@debbugs.gnu.org id=B24956.147941636031520 (code B ref 24956); Thu, 17 Nov 2016 21:00:02 +0000 Original-Received: (at 24956) by debbugs.gnu.org; 17 Nov 2016 20:59:20 +0000 Original-Received: from localhost ([127.0.0.1]:32807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c7TmA-0008CJ-P7 for submit@debbugs.gnu.org; Thu, 17 Nov 2016 15:59:18 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56431) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c7Tm9-0008C4-RK for 24956@debbugs.gnu.org; Thu, 17 Nov 2016 15:59:18 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c7Tm0-0004eB-Ig for 24956@debbugs.gnu.org; Thu, 17 Nov 2016 15:59:12 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50448) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c7Tm0-0004e7-Es; Thu, 17 Nov 2016 15:59:08 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1804 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1c7Tly-0005DF-Qn; Thu, 17 Nov 2016 15:59:08 -0500 In-reply-to: (message from Noam Postavsky on Thu, 17 Nov 2016 12:59:19 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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" Xref: news.gmane.org gmane.emacs.bugs:125807 Archived-At: > From: Noam Postavsky > Date: Thu, 17 Nov 2016 12:59:19 -0500 > Cc: 24956@debbugs.gnu.org > > > (let ((compilation-environment (list "PATH=d:\\foo"))) > > (compile "echo %PATH%")) > > > > The output is the original contents of PATH. Until recently (June, at > > least) it was possible to set PATH in compilation-environment and pass > > it to child processes. On GNU/Linux, it still is. > > It seems that my change in 73f0715d "Keep w32 environment settings > internal only", had an unexpected effect on the way differently cased > environment variables are handled. > > With latest master > > (let ((process-environment (cons "PATH=d:\\foo" process-environment))) > (call-process "cmd" nil '(t t) nil "/C" "echo %PATH%")) > > inserts the original PATH contents, whereas > > (let ((process-environment (cons "Path=d:\\foo" process-environment))) > (call-process "cmd" nil '(t t) nil "/C" "echo %PATH%")) > > inserts "d:\foo". In Emacs 25.1, or reverting the commit I mentioned, > the opposite occurs. I think this is because PATH doesn't exist in the original environment inherited from the shell, only Path does. We push PATH into the environment only in w32.c:init_environment (and do the same trick with ComSpec vs COMSPEC). But since the above-mentioned change, that function no longer affects process-environment. So to fix this bug, we need to push PATH and COMSPEC into process-environment, replacing their camel-case variants. Does this make sense?