From 82c09769f9547c99cb0bbb3b746ed10dfe05cf6f Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Tue, 2 Jan 2018 13:48:28 +0000
Subject: Do not add unnormalised entries to PATH in scons.bat

---
 src/CHANGES.txt      | 6 ++++++
 src/script/scons.bat | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index accd2f0..f5127dd 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -7,6 +7,12 @@
 
 RELEASE 3.1.0.alpha.yyyymmdd - NEW DATE WILL BE INSERTED HERE
 
+  From Ray Donnelly:
+    - Do not assume execeutables launched via scons.bat can handle unnormalised paths.
+      Python 3.6 cannot for a start: https://bugs.python.org/issue32457. To be exact
+      this means we must not add '..', and instead use 'pushd' and '%CD%' to add the
+      parent directory to PATH.
+
   From Gary Oberbrunner:
     - Fix bug when Installing multiple subdirs outside the source tree
     - fix to_str to handle None without raising exception
diff --git a/src/script/scons.bat b/src/script/scons.bat
index fddeca4..a9e777e 100644
--- a/src/script/scons.bat
+++ b/src/script/scons.bat
@@ -16,7 +16,9 @@ goto endscons
 :WinNT
 setlocal
 @REM ensure the script will be executed with the Python it was installed for
-set path=%~dp0;%~dp0..;%path%
+pushd %~dp0..
+set path=%~dp0;%CD%;%path%
+popd
 @REM try the script named as the .bat file in current dir, then in Scripts subdir
 set scriptname=%~dp0%~n0.py
 if not exist "%scriptname%" set scriptname=%~dp0Scripts\%~n0.py
-- 
cgit v0.12