[PATCH 3 of 3] py3kcompat: don't convert os.environ to bytes

Gregory Szorc gregory.szorc at gmail.com
Sat May 10 18:39:57 CDT 2014


# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1399760524 25200
#      Sat May 10 15:22:04 2014 -0700
# Node ID e48f8388eca0c1165515769adc191fd935b1237f
# Parent  8a49e0cb7f14a69662da24d71ec2d4ab3f536df3
py3kcompat: don't convert os.environ to bytes

os.environ accepts str not bytes. Assigning bytes will result in a
run-time error.

diff --git a/mercurial/py3kcompat.py b/mercurial/py3kcompat.py
--- a/mercurial/py3kcompat.py
+++ b/mercurial/py3kcompat.py
@@ -51,15 +51,8 @@ def bytesformatter(format, args):
     ret = format % args
     return ret.encode('utf-8', 'surrogateescape')
 builtins.bytesformatter = bytesformatter
 
-# Create bytes equivalents for os.environ values
-for key in list(os.environ.keys()):
-    # UTF-8 is fine for us
-    bkey = key.encode('utf-8', 'surrogateescape')
-    bvalue = os.environ[key].encode('utf-8', 'surrogateescape')
-    os.environ[bkey] = bvalue
-
 origord = builtins.ord
 def fakeord(char):
     if isinstance(char, int):
         return char


More information about the Mercurial-devel mailing list