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: Tue, 22 Nov 2016 18:01:32 +0200 Message-ID: <8337ij8pwj.fsf@gnu.org> References: <87wpg383pb.fsf@telefonica.net> <83k2c1esbp.fsf@gnu.org> <83wpg1ce8b.fsf@gnu.org> <83shqoaqhy.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1479830552 25526 195.159.176.226 (22 Nov 2016 16:02:32 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 22 Nov 2016 16:02:32 +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 Tue Nov 22 17:02:19 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 1c9DWU-00053G-II for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 Nov 2016 17:02:18 +0100 Original-Received: from localhost ([::1]:56351 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c9DWX-0001CT-S1 for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 Nov 2016 11:02:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55715) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c9DWI-00019k-Aj for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2016 11:02:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c9DWE-0004Mh-Fl for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2016 11:02:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51319) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c9DWE-0004Md-CW for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2016 11:02:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1c9DWE-00029z-2G for bug-gnu-emacs@gnu.org; Tue, 22 Nov 2016 11:02: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: Tue, 22 Nov 2016 16:02: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.14798305068280 (code B ref 24956); Tue, 22 Nov 2016 16:02:02 +0000 Original-Received: (at 24956) by debbugs.gnu.org; 22 Nov 2016 16:01:46 +0000 Original-Received: from localhost ([127.0.0.1]:38485 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c9DVy-00029U-BF for submit@debbugs.gnu.org; Tue, 22 Nov 2016 11:01:46 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:36438) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c9DVx-00029I-HJ for 24956@debbugs.gnu.org; Tue, 22 Nov 2016 11:01:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c9DVp-0004G3-7C for 24956@debbugs.gnu.org; Tue, 22 Nov 2016 11:01:40 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:38453) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c9DVp-0004Fz-3t; Tue, 22 Nov 2016 11:01:37 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4974 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1c9DVo-0004tS-CR; Tue, 22 Nov 2016 11:01:36 -0500 In-reply-to: (message from Noam Postavsky on Mon, 21 Nov 2016 18:19:53 -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:125991 Archived-At: > From: Noam Postavsky > Date: Mon, 21 Nov 2016 18:19:53 -0500 > Cc: Óscar Fuentes , 24956@debbugs.gnu.org > > On Sat, Nov 19, 2016 at 2:16 AM, Eli Zaretskii wrote: > > > > . I'd rather have the WINDOWSNT-specific code separate (on w32.c), > > so perhaps the for-loop you modified could be left intact, and > > instead we perform an additional pass over Vprocess_environment, > > after it is already copied, to replace these two variables with > > their upper-case equivalents, in that special code on w32.c. > > Okay, here is a patch that does that. Thanks. > + /* Make the same modification to `process-environment' which has > + already been initialized in set_initial_environment. */ > + Lisp_Object env = Vprocess_environment; > + Lisp_Object path = build_string ("PATH="); > + Lisp_Object path_len = make_number (SBYTES (path)); > + Lisp_Object comspec = build_string ("COMSPEC="); > + Lisp_Object comspec_len = make_number (SBYTES (comspec)); > + for (; CONSP (env); env = XCDR (env)) > + { > + Lisp_Object entry = XCAR (env); > + if (EQ (Fcompare_strings (entry, Qnil, path_len, path, Qnil, Qnil, Qt), Qt)) > + for (ptrdiff_t i = 0; i < SBYTES (path); i++) > + SSET (entry, i, SREF (path, i)); > + else if (EQ (Fcompare_strings (entry, Qnil, comspec_len, comspec, Qnil, Qnil, Qt), Qt)) > + for (ptrdiff_t i = 0; i < SBYTES (comspec); i++) > + SSET (entry, i, SREF (comspec, i)); > + } Why not compare in using _strnicmp instead of Fcompare_strings? That would save you the need to cons Lisp strings, and will be more efficient (Fcompare_strings is quite complex). Not that speed matters in this case, but it's just looks strange to me. Am I missing something?