Some cleanup -- don't use splitfields/joinfields, standardize
indentation (tabs only), rationalize some code in urljoin...
diff --git a/Lib/urlparse.py b/Lib/urlparse.py
index af111f2..abaa66c 100644
--- a/Lib/urlparse.py
+++ b/Lib/urlparse.py
@@ -6,7 +6,7 @@
 
 # Standard/builtin Python modules
 import string
-from string import joinfields, splitfields, rfind
+from string import join, split, rfind
 
 # A classification of schemes ('' means apply by default)
 uses_relative = ['ftp', 'http', 'gopher', 'nntp', 'wais', 'file',
@@ -37,9 +37,9 @@
 _parse_cache = {}
 
 def clear_cache():
-    """Clear the parse cache."""
-    global _parse_cache
-    _parse_cache = {}
+	"""Clear the parse cache."""
+	global _parse_cache
+	_parse_cache = {}
 
 
 def urlparse(url, scheme = '', allow_fragments = 1):
@@ -53,7 +53,7 @@
 	if cached:
 		return cached
 	if len(_parse_cache) >= MAX_CACHE_SIZE:	# avoid runaway growth
-	    clear_cache()
+		clear_cache()
 	find = string.find
 	netloc = path = params = query = fragment = ''
 	i = find(url, ':')
@@ -151,10 +151,8 @@
 	if not path:
 		return urlunparse((scheme, netloc, bpath,
 				   params, query or bquery, fragment))
-	i = rfind(bpath, '/')
-	if i >= 0:
-		path = bpath[:i] + '/' + path
-	segments = splitfields(path, '/')
+	segments = split(bpath, '/')[:-1] + split(path, '/')
+	# XXX The stuff below is bogus in various ways...
 	if segments[-1] == '.':
 		segments[-1] = ''
 	while '.' in segments:
@@ -173,19 +171,19 @@
 		segments[-1] = ''
 	elif len(segments) >= 2 and segments[-1] == '..':
 		segments[-2:] = ['']
-	return urlunparse((scheme, netloc, joinfields(segments, '/'),
+	return urlunparse((scheme, netloc, join(segments, '/'),
 			   params, query, fragment))
 
 def urldefrag(url):
-    """Removes any existing fragment from URL.
+	"""Removes any existing fragment from URL.
 
-    Returns a tuple of the defragmented URL and the fragment.  If
-    the URL contained no fragments, the second element is the
-    empty string.
-    """
-    s, n, p, a, q, frag = urlparse(url)
-    defrag = urlunparse((s, n, p, a, q, ''))
-    return defrag, frag
+	Returns a tuple of the defragmented URL and the fragment.  If
+	the URL contained no fragments, the second element is the
+	empty string.
+	"""
+	s, n, p, a, q, frag = urlparse(url)
+	defrag = urlunparse((s, n, p, a, q, ''))
+	return defrag, frag
 
 
 test_input = """