A few lines were indented using spaces instead of tabs -- fix them.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index dfed76e..d66ea3c 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -34,7 +34,7 @@
 # Helper for non-unix systems
 if os.name == 'mac':
 	from macurl2path import url2pathname, pathname2url
-elif os.name == 'nt':    
+elif os.name == 'nt':
 	from nturl2path import url2pathname, pathname2url 
 else:
 	def url2pathname(pathname):
@@ -64,9 +64,9 @@
 	if not _urlopener:
 		_urlopener = FancyURLopener()
 	if filename:
-	    return _urlopener.retrieve(url, filename)
+		return _urlopener.retrieve(url, filename)
 	else:
-	    return _urlopener.retrieve(url)
+		return _urlopener.retrieve(url)
 def urlcleanup():
 	if _urlopener:
 		_urlopener.cleanup()
@@ -123,7 +123,7 @@
 					pass
 			del self.__tempfiles[:]
 		if self.tempcache:
-		    self.tempcache.clear()
+			self.tempcache.clear()
 
 	# Add a header to be used by the HTTP interface only
 	# e.g. u.addheader('Accept', 'sound/basic')
@@ -147,7 +147,7 @@
 			url = (host, fullurl) # Signal special case to open_*()
 		name = 'open_' + type
 		if '-' in name:
-		        # replace - with _
+			# replace - with _
 			name = string.join(string.split(name, '-'), '_')
 		if not hasattr(self, name):
 			if data is None:
@@ -185,9 +185,9 @@
 		fp = self.open(url)
 		headers = fp.info()
 		if not filename:
-		    import tempfile
-		    filename = tempfile.mktemp()
-		    self.__tempfiles.append(filename)
+			import tempfile
+			filename = tempfile.mktemp()
+			self.__tempfiles.append(filename)
 		result = filename, headers
 		if self.tempcache is not None:
 			self.tempcache[url] = result
@@ -217,13 +217,14 @@
 			urltype, rest = splittype(selector)
 			user_passwd = None
 			if string.lower(urltype) != 'http':
-			    realhost = None
+				realhost = None
 			else:
-			    realhost, rest = splithost(rest)
-			    user_passwd, realhost = splituser(realhost)
-			    if user_passwd:
-				selector = "%s://%s%s" % (urltype,
-							  realhost, rest)
+				realhost, rest = splithost(rest)
+				user_passwd, realhost = splituser(realhost)
+				if user_passwd:
+					selector = "%s://%s%s" % (urltype,
+								  realhost,
+								  rest)
 			#print "proxy via http:", host, selector
 		if not host: raise IOError, ('http error', 'no host given')
 		if user_passwd:
@@ -289,10 +290,10 @@
 
 	# Use local file or FTP depending on form of URL
 	def open_file(self, url):
-	    if url[:2] == '//' and url[2:3] != '/':
-		return self.open_ftp(url)
-	    else:
-		return self.open_local_file(url)
+		if url[:2] == '//' and url[2:3] != '/':
+			return self.open_ftp(url)
+		else:
+			return self.open_local_file(url)
 
 	# Use local file
 	def open_local_file(self, url):
@@ -404,7 +405,7 @@
 
 	# Default error handling -- don't raise an exception
 	def http_error_default(self, url, fp, errcode, errmsg, headers):
-	    return addinfourl(fp, headers, "http:" + url)
+		return addinfourl(fp, headers, "http:" + url)
 
 	# Error 302 -- relocated (temporarily)
 	def http_error_302(self, url, fp, errcode, errmsg, headers):
@@ -432,7 +433,7 @@
 			match = re.match(
 			    '[ \t]*([^ \t]+)[ \t]+realm="([^"]*)"', stuff)
 			if match:
-			        scheme, realm = match.groups()
+				scheme, realm = match.groups()
 				if string.lower(scheme) == 'basic':
 					return self.retry_http_basic_auth(
 						url, realm)
@@ -734,10 +735,10 @@
 def splittype(url):
 	global _typeprog
 	if _typeprog is None:
-	    import re
-	    _typeprog = re.compile('^([^/:]+):')
+		import re
+		_typeprog = re.compile('^([^/:]+):')
 
-        match = _typeprog.match(url)
+	match = _typeprog.match(url)
 	if match:
 		scheme = match.group(1)
 		return scheme, url[len(scheme) + 1:]
@@ -747,8 +748,8 @@
 def splithost(url):
 	global _hostprog
 	if _hostprog is None:
-	    import re
-	    _hostprog = re.compile('^//([^/]+)(.*)$')
+		import re
+		_hostprog = re.compile('^//([^/]+)(.*)$')
 
         match = _hostprog.match(url) 
 	if match: return match.group(1, 2)
@@ -758,8 +759,8 @@
 def splituser(host):
 	global _userprog
 	if _userprog is None:
-	    import re
-	    _userprog = re.compile('^([^@]*)@(.*)$')
+		import re
+		_userprog = re.compile('^([^@]*)@(.*)$')
 
         match = _userprog.match(host)
 	if match: return match.group(1, 2)
@@ -769,8 +770,8 @@
 def splitpasswd(user):
 	global _passwdprog
 	if _passwdprog is None:
-	    import re
-	    _passwdprog = re.compile('^([^:]*):(.*)$')
+		import re
+		_passwdprog = re.compile('^([^:]*):(.*)$')
 
         match = _passwdprog.match(user)
 	if match: return match.group(1, 2)
@@ -780,8 +781,8 @@
 def splitport(host):
 	global _portprog
 	if _portprog is None:
-	    import re
-	    _portprog = re.compile('^(.*):([0-9]+)$')
+		import re
+		_portprog = re.compile('^(.*):([0-9]+)$')
 
         match = _portprog.match(host)
 	if match: return match.group(1, 2)
@@ -795,26 +796,26 @@
 def splitnport(host, defport=-1):
 	global _nportprog
 	if _nportprog is None:
-	    import re
-	    _nportprog = re.compile('^(.*):(.*)$')
-	    
+		import re
+		_nportprog = re.compile('^(.*):(.*)$')
+
         match = _nportprog.match(host)
 	if match:
-	    host, port = match.group(1, 2)
-	    try:
-		if not port: raise string.atoi_error, "no digits"
-		nport = string.atoi(port)
-	    except string.atoi_error:
-		nport = None
-	    return host, nport
+		host, port = match.group(1, 2)
+		try:
+			if not port: raise string.atoi_error, "no digits"
+			nport = string.atoi(port)
+		except string.atoi_error:
+			nport = None
+		return host, nport
 	return host, defport
 
 _queryprog = None
 def splitquery(url):
 	global _queryprog
 	if _queryprog is None:
-	    import re
-	    _queryprog = re.compile('^(.*)\?([^?]*)$')
+		import re
+		_queryprog = re.compile('^(.*)\?([^?]*)$')
 
         match = _queryprog.match(url)
 	if match: return match.group(1, 2)
@@ -824,9 +825,9 @@
 def splittag(url):
 	global _tagprog
 	if _tagprog is None:
-	    import re
-	    _tagprog = re.compile('^(.*)#([^#]*)$')
-	    
+		import re
+		_tagprog = re.compile('^(.*)#([^#]*)$')
+
         match = _tagprog.match(url)
 	if match: return match.group(1, 2)
 	return url, None
@@ -839,10 +840,10 @@
 def splitvalue(attr):
 	global _valueprog
 	if _valueprog is None:
-	    import re
-	    _valueprog = re.compile('^([^=]*)=(.*)$')
+		import re
+		_valueprog = re.compile('^([^=]*)=(.*)$')
 
-        match = _valueprog.match(attr)
+	match = _valueprog.match(attr)
 	if match: return match.group(1, 2)
 	return attr, None
 
@@ -855,9 +856,9 @@
 def unquote(s):
 	global _quoteprog
 	if _quoteprog is None:
-	    import re
-	    _quoteprog = re.compile('%[0-9a-fA-F][0-9a-fA-F]')
-	    
+		import re
+		_quoteprog = re.compile('%[0-9a-fA-F][0-9a-fA-F]')
+
 	i = 0
 	n = len(s)
 	res = []
@@ -872,10 +873,10 @@
 	return string.joinfields(res, '')
 
 def unquote_plus(s):
-    if '+' in s:
-	# replace '+' with ' '
-	s = string.join(string.split(s, '+'), ' ')
-    return unquote(s)
+	if '+' in s:
+		# replace '+' with ' '
+		s = string.join(string.split(s, '+'), ' ')
+	return unquote(s)
 
 always_safe = string.letters + string.digits + '_,.-'
 def quote(s, safe = '/'):
@@ -889,12 +890,12 @@
 	return string.joinfields(res, '')
 
 def quote_plus(s, safe = '/'):
-    if ' ' in s:
-	# replace ' ' with '+'
-	s = string.join(string.split(s, ' '), '+')
-	return quote(s, safe + '+')
-    else:
-	return quote(s, safe)
+	if ' ' in s:
+		# replace ' ' with '+'
+		s = string.join(string.split(s, ' '), '+')
+		return quote(s, safe + '+')
+	else:
+		return quote(s, safe)
 
 
 # Proxy handling
@@ -959,8 +960,8 @@
 			data = fp.read()
 			del fp
 			if '\r' in data:
-			    table = string.maketrans("", "")
-			    data = string.translate(data, table, "\r")
+				table = string.maketrans("", "")
+				data = string.translate(data, table, "\r")
 			print data
 			fn, h = None, None
 		print '-'*40