[Python-checkins] bpo-36634: Fixes activate.bat when existing values contain double quotes (GH-15924)

Miss Islington (bot) webhook-mailer at python.org
Wed Sep 11 11:23:11 EDT 2019


https://github.com/python/cpython/commit/8a19a91e28b86592ee1ad9d1761e59b30d8511b9
commit: 8a19a91e28b86592ee1ad9d1761e59b30d8511b9
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2019-09-11T08:23:07-07:00
summary:

bpo-36634: Fixes activate.bat when existing values contain double quotes (GH-15924)

(cherry picked from commit 574b324bdc9a126b5a4488c3613f11ad2555415e)

Co-authored-by: Steve Dower <steve.dower at python.org>

files:
A Misc/NEWS.d/next/Windows/2019-09-11-12-34-31.bpo-36634.xLaGgb.rst
M Lib/venv/scripts/nt/activate.bat

diff --git a/Lib/venv/scripts/nt/activate.bat b/Lib/venv/scripts/nt/activate.bat
index da831bb42c79..8eb5c1ff664f 100644
--- a/Lib/venv/scripts/nt/activate.bat
+++ b/Lib/venv/scripts/nt/activate.bat
@@ -2,44 +2,32 @@
 
 rem This file is UTF-8 encoded, so we need to update the current code page while executing it
 for /f "tokens=2 delims=:." %%a in ('"%SystemRoot%\System32\chcp.com"') do (
-    set "_OLD_CODEPAGE=%%a"
+    set _OLD_CODEPAGE=%%a
 )
 if defined _OLD_CODEPAGE (
     "%SystemRoot%\System32\chcp.com" 65001 > nul
 )
 
-set "VIRTUAL_ENV=__VENV_DIR__"
+set VIRTUAL_ENV=__VENV_DIR__
 
-if not defined PROMPT (
-    set "PROMPT=$P$G"
-)
-
-if defined _OLD_VIRTUAL_PROMPT (
-    set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
-)
+if not defined PROMPT set PROMPT=$P$G
 
-if defined _OLD_VIRTUAL_PYTHONHOME (
-    set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
-)
+if defined _OLD_VIRTUAL_PROMPT set PROMPT=%_OLD_VIRTUAL_PROMPT%
+if defined _OLD_VIRTUAL_PYTHONHOME set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%
 
-set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
-set "PROMPT=__VENV_PROMPT__%PROMPT%"
+set _OLD_VIRTUAL_PROMPT=%PROMPT%
+set PROMPT=__VENV_PROMPT__%PROMPT%
 
-if defined PYTHONHOME (
-    set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
-    set PYTHONHOME=
-)
+if defined PYTHONHOME set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%
+set PYTHONHOME=
 
-if defined _OLD_VIRTUAL_PATH (
-    set "PATH=%_OLD_VIRTUAL_PATH%"
-) else (
-    set "_OLD_VIRTUAL_PATH=%PATH%"
-)
+if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH%
+else set _OLD_VIRTUAL_PATH=%PATH%
 
-set "PATH=%VIRTUAL_ENV%\__VENV_BIN_NAME__;%PATH%"
+set PATH=%VIRTUAL_ENV%\__VENV_BIN_NAME__;%PATH%
 
 :END
 if defined _OLD_CODEPAGE (
     "%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul
-    set "_OLD_CODEPAGE="
+    set _OLD_CODEPAGE=
 )
diff --git a/Misc/NEWS.d/next/Windows/2019-09-11-12-34-31.bpo-36634.xLaGgb.rst b/Misc/NEWS.d/next/Windows/2019-09-11-12-34-31.bpo-36634.xLaGgb.rst
new file mode 100644
index 000000000000..c0bd2beaae2d
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2019-09-11-12-34-31.bpo-36634.xLaGgb.rst
@@ -0,0 +1,2 @@
+venv activate.bat now works when the existing variables contain double quote
+characters.



More information about the Python-checkins mailing list