Change the file's indentation from tabs to 4 spaces per level.
diff --git a/Lib/StringIO.py b/Lib/StringIO.py
index 4bfd55f..98f190f 100644
--- a/Lib/StringIO.py
+++ b/Lib/StringIO.py
@@ -30,167 +30,179 @@
 """
 
 try:
-	from errno import EINVAL
+    from errno import EINVAL
 except ImportError:
-	EINVAL = 22
+    EINVAL = 22
 
 EMPTYSTRING = ''
 
 class StringIO:
-	def __init__(self, buf = ''):
-		self.buf = buf
-		self.len = len(buf)
+    def __init__(self, buf = ''):
+	self.buf = buf
+	self.len = len(buf)
+	self.buflist = []
+	self.pos = 0
+	self.closed = 0
+	self.softspace = 0
+
+    def close(self):
+	if not self.closed:
+	    self.closed = 1
+	    del self.buf, self.pos
+
+    def isatty(self):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+	return 0
+
+    def seek(self, pos, mode = 0):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+	if self.buflist:
+	    self.buf += EMPTYSTRING.join(self.buflist)
+	    self.buflist = []
+	if mode == 1:
+	    pos += self.pos
+	elif mode == 2:
+	    pos += self.len
+	self.pos = max(0, pos)
+
+    def tell(self):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+	return self.pos
+
+    def read(self, n = -1):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+	if self.buflist:
+	    self.buf += EMPTYSTRING.join(self.buflist)
+	    self.buflist = []
+	if n < 0:
+	    newpos = self.len
+	else:
+	    newpos = min(self.pos+n, self.len)
+	r = self.buf[self.pos:newpos]
+	self.pos = newpos
+	return r
+
+    def readline(self, length=None):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+	if self.buflist:
+	    self.buf += EMPTYSTRING.join(self.buflist)
+	    self.buflist = []
+	i = self.buf.find('\n', self.pos)
+	if i < 0:
+	    newpos = self.len
+	else:
+	    newpos = i+1
+	if length is not None:
+	    if self.pos + length < newpos:
+		newpos = self.pos + length
+	r = self.buf[self.pos:newpos]
+	self.pos = newpos
+	return r
+
+    def readlines(self, sizehint = 0):
+	total = 0
+	lines = []
+	line = self.readline()
+	while line:
+	    lines.append(line)
+	    total += len(line)
+	    if 0 < sizehint <= total:
+		break
+	    line = self.readline()
+	return lines
+
+    def truncate(self, size=None):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+	if size is None:
+	    size = self.pos
+	elif size < 0:
+	    raise IOError(EINVAL, "Negative size not allowed")
+	elif size < self.pos:
+	    self.pos = size
+	self.buf = self.getvalue()[:size]
+
+    def write(self, s):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+	if not s: return
+	if self.pos > self.len:
+	    self.buflist.append('\0'*(self.pos - self.len))
+	    self.len = self.pos
+	newpos = self.pos + len(s)
+	if self.pos < self.len:
+	    if self.buflist:
+		self.buf += EMPTYSTRING.join(self.buflist)
 		self.buflist = []
-		self.pos = 0
-		self.closed = 0
-		self.softspace = 0
-	def close(self):
-		if not self.closed:
-			self.closed = 1
-			del self.buf, self.pos
-	def isatty(self):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-		return 0
-	def seek(self, pos, mode = 0):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-		if self.buflist:
-			self.buf += EMPTYSTRING.join(self.buflist)
-			self.buflist = []
-		if mode == 1:
-			pos += self.pos
-		elif mode == 2:
-			pos += self.len
-		self.pos = max(0, pos)
-	def tell(self):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-		return self.pos
-	def read(self, n = -1):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-		if self.buflist:
-			self.buf += EMPTYSTRING.join(self.buflist)
-			self.buflist = []
-		if n < 0:
-			newpos = self.len
-		else:
-			newpos = min(self.pos+n, self.len)
-		r = self.buf[self.pos:newpos]
-		self.pos = newpos
-		return r
-	def readline(self, length=None):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-		if self.buflist:
-			self.buf += EMPTYSTRING.join(self.buflist)
-			self.buflist = []
-		i = self.buf.find('\n', self.pos)
-		if i < 0:
-			newpos = self.len
-		else:
-			newpos = i+1
-		if length is not None:
-			if self.pos + length < newpos:
-				newpos = self.pos + length
-		r = self.buf[self.pos:newpos]
-		self.pos = newpos
-		return r
-	def readlines(self, sizehint = 0):
-		total = 0
-		lines = []
-		line = self.readline()
-		while line:
-			lines.append(line)
-			total += len(line)
-			if 0 < sizehint <= total:
-				break
-			line = self.readline()
-		return lines
-	def truncate(self, size=None):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-		if size is None:
-			size = self.pos
-		elif size < 0:
-			raise IOError(EINVAL, "Negative size not allowed")
-		elif size < self.pos:
-			self.pos = size
-		self.buf = self.getvalue()[:size]
-	def write(self, s):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-		if not s: return
-		if self.pos > self.len:
-			self.buflist.append('\0'*(self.pos - self.len))
-			self.len = self.pos
-		newpos = self.pos + len(s)
-		if self.pos < self.len:
-			if self.buflist:
-				self.buf += EMPTYSTRING.join(self.buflist)
-				self.buflist = []
-			self.buflist = [self.buf[:self.pos], s, self.buf[newpos:]]
-			self.buf = ''
-			if newpos > self.len:
-				self.len = newpos
-		else:
-			self.buflist.append(s)
-			self.len = newpos
-		self.pos = newpos
-	def writelines(self, list):
-		self.write(EMPTYSTRING.join(list))
-	def flush(self):
-		if self.closed:
-			raise ValueError, "I/O operation on closed file"
-	def getvalue(self):
-		if self.buflist:
-			self.buf += EMPTYSTRING.join(self.buflist)
-			self.buflist = []
-		return self.buf
+	    self.buflist = [self.buf[:self.pos], s, self.buf[newpos:]]
+	    self.buf = ''
+	    if newpos > self.len:
+		self.len = newpos
+	else:
+	    self.buflist.append(s)
+	    self.len = newpos
+	self.pos = newpos
+
+    def writelines(self, list):
+	self.write(EMPTYSTRING.join(list))
+
+    def flush(self):
+	if self.closed:
+	    raise ValueError, "I/O operation on closed file"
+
+    def getvalue(self):
+	if self.buflist:
+	    self.buf += EMPTYSTRING.join(self.buflist)
+	    self.buflist = []
+	return self.buf
 
 
 # A little test suite
 
 def test():
-	import sys
-	if sys.argv[1:]:
-		file = sys.argv[1]
-	else:
-		file = '/etc/passwd'
-	lines = open(file, 'r').readlines()
-	text = open(file, 'r').read()
-	f = StringIO()
-	for line in lines[:-2]:
-		f.write(line)
-	f.writelines(lines[-2:])
-	if f.getvalue() != text:
-		raise RuntimeError, 'write failed'
-	length = f.tell()
-	print 'File length =', length
-	f.seek(len(lines[0]))
-	f.write(lines[1])
-	f.seek(0)
-	print 'First line =', `f.readline()`
-	here = f.tell()
-	line = f.readline()
-	print 'Second line =', `line`
-	f.seek(-len(line), 1)
-	line2 = f.read(len(line))
-	if line != line2:
-		raise RuntimeError, 'bad result after seek back'
-	f.seek(len(line2), 1)
-	list = f.readlines()
-	line = list[-1]
-	f.seek(f.tell() - len(line))
-	line2 = f.read()
-	if line != line2:
-		raise RuntimeError, 'bad result after seek back from EOF'
-	print 'Read', len(list), 'more lines'
-	print 'File length =', f.tell()
-	if f.tell() != length:
-		raise RuntimeError, 'bad length'
-	f.close()
+    import sys
+    if sys.argv[1:]:
+	file = sys.argv[1]
+    else:
+	file = '/etc/passwd'
+    lines = open(file, 'r').readlines()
+    text = open(file, 'r').read()
+    f = StringIO()
+    for line in lines[:-2]:
+	f.write(line)
+    f.writelines(lines[-2:])
+    if f.getvalue() != text:
+	raise RuntimeError, 'write failed'
+    length = f.tell()
+    print 'File length =', length
+    f.seek(len(lines[0]))
+    f.write(lines[1])
+    f.seek(0)
+    print 'First line =', `f.readline()`
+    here = f.tell()
+    line = f.readline()
+    print 'Second line =', `line`
+    f.seek(-len(line), 1)
+    line2 = f.read(len(line))
+    if line != line2:
+	raise RuntimeError, 'bad result after seek back'
+    f.seek(len(line2), 1)
+    list = f.readlines()
+    line = list[-1]
+    f.seek(f.tell() - len(line))
+    line2 = f.read()
+    if line != line2:
+	raise RuntimeError, 'bad result after seek back from EOF'
+    print 'Read', len(list), 'more lines'
+    print 'File length =', f.tell()
+    if f.tell() != length:
+	raise RuntimeError, 'bad length'
+    f.close()
 
 if __name__ == '__main__':
-	test()
+    test()