comparison mercurial/util.py @ 15657:d976b1ef6760

util: don't mess with builtins to emulate buffer()
author Matt Mackall <mpm@selenic.com>
date Thu, 15 Dec 2011 15:27:11 -0600
parents 4f5a78fa4917
children 7b7f03502b5a
comparison
equal deleted inserted replaced
15656:4f5a78fa4917 15657:d976b1ef6760
102 from sha import sha as _sha1 102 from sha import sha as _sha1
103 global _fastsha1, sha1 103 global _fastsha1, sha1
104 _fastsha1 = sha1 = _sha1 104 _fastsha1 = sha1 = _sha1
105 return _sha1(s) 105 return _sha1(s)
106 106
107 import __builtin__
108
109 if sys.version_info[0] < 3:
110 def fakebuffer(sliceable, offset=0):
111 return sliceable[offset:]
112 else:
113 def fakebuffer(sliceable, offset=0):
114 return memoryview(sliceable)[offset:]
115 try: 107 try:
116 buffer 108 buffer = buffer
117 except NameError: 109 except NameError:
118 __builtin__.buffer = fakebuffer 110 if sys.version_info[0] < 3:
111 def buffer(sliceable, offset=0):
112 return sliceable[offset:]
113 else:
114 def buffer(sliceable, offset=0):
115 return memoryview(sliceable)[offset:]
119 116
120 import subprocess 117 import subprocess
121 closefds = os.name == 'posix' 118 closefds = os.name == 'posix'
122 119
123 def popen2(cmd, env=None, newlines=False): 120 def popen2(cmd, env=None, newlines=False):