Whitespace normalization.  Ran reindent.py over the entire source tree.
diff --git a/Demo/pdist/cmptree.py b/Demo/pdist/cmptree.py
index 8a34f3f..f6c611f 100755
--- a/Demo/pdist/cmptree.py
+++ b/Demo/pdist/cmptree.py
@@ -7,202 +7,202 @@
 import os
 
 def main():
-	pwd = os.getcwd()
-	s = raw_input("chdir [%s] " % pwd)
-	if s:
-		os.chdir(s)
-		pwd = os.getcwd()
-	host = ask("host", 'voorn.cwi.nl')
-	port = 4127
-	verbose = 1
-	mode = ''
-	print """\
+    pwd = os.getcwd()
+    s = raw_input("chdir [%s] " % pwd)
+    if s:
+        os.chdir(s)
+        pwd = os.getcwd()
+    host = ask("host", 'voorn.cwi.nl')
+    port = 4127
+    verbose = 1
+    mode = ''
+    print """\
 Mode should be a string of characters, indicating what to do with differences.
 r - read different files to local file system
 w - write different files to remote file system
 c - create new files, either remote or local
 d - delete disappearing files, either remote or local
 """
-	s = raw_input("mode [%s] " % mode)
-	if s: mode = s
-	address = (host, port)
-	t1 = time.time()
-	local = FSProxy.FSProxyLocal()
-	remote = FSProxy.FSProxyClient(address, verbose)
-	compare(local, remote, mode)
-	remote._close()
-	local._close()
-	t2 = time.time()
-	dt = t2-t1
-	mins, secs = divmod(dt, 60)
-	print mins, "minutes and", round(secs), "seconds"
-	raw_input("[Return to exit] ")
+    s = raw_input("mode [%s] " % mode)
+    if s: mode = s
+    address = (host, port)
+    t1 = time.time()
+    local = FSProxy.FSProxyLocal()
+    remote = FSProxy.FSProxyClient(address, verbose)
+    compare(local, remote, mode)
+    remote._close()
+    local._close()
+    t2 = time.time()
+    dt = t2-t1
+    mins, secs = divmod(dt, 60)
+    print mins, "minutes and", round(secs), "seconds"
+    raw_input("[Return to exit] ")
 
 def ask(prompt, default):
-	s = raw_input("%s [%s] " % (prompt, default))
-	return s or default
+    s = raw_input("%s [%s] " % (prompt, default))
+    return s or default
 
 def askint(prompt, default):
-	s = raw_input("%s [%s] " % (prompt, str(default)))
-	if s: return string.atoi(s)
-	return default
+    s = raw_input("%s [%s] " % (prompt, str(default)))
+    if s: return string.atoi(s)
+    return default
 
 def compare(local, remote, mode):
-	print
-	print "PWD =", repr(os.getcwd())
-	sums_id = remote._send('sumlist')
-	subdirs_id = remote._send('listsubdirs')
-	remote._flush()
-	print "calculating local sums ..."
-	lsumdict = {}
-	for name, info in local.sumlist():
-		lsumdict[name] = info
-	print "getting remote sums ..."
-	sums = remote._recv(sums_id)
-	print "got", len(sums)
-	rsumdict = {}
-	for name, rsum in sums:
-		rsumdict[name] = rsum
-		if not lsumdict.has_key(name):
-			print repr(name), "only remote"
-			if 'r' in mode and 'c' in mode:
-				recvfile(local, remote, name)
-		else:
-			lsum = lsumdict[name]
-			if lsum != rsum:
-				print repr(name),
-				rmtime = remote.mtime(name)
-				lmtime = local.mtime(name)
-				if rmtime > lmtime:
-					print "remote newer",
-					if 'r' in mode:
-						recvfile(local, remote, name)
-				elif lmtime > rmtime:
-					print "local newer",
-					if 'w' in mode:
-						sendfile(local, remote, name)
-				else:
-					print "same mtime but different sum?!?!",
-				print
-	for name in lsumdict.keys():
-		if not rsumdict.keys():
-			print repr(name), "only locally",
-			fl()
-			if 'w' in mode and 'c' in mode:
-				sendfile(local, remote, name)
-			elif 'r' in mode and 'd' in mode:
-				os.unlink(name)
-				print "removed."
-			print
-	print "gettin subdirs ..."
-	subdirs = remote._recv(subdirs_id)
-	common = []
-	for name in subdirs:
-		if local.isdir(name):
-			print "Common subdirectory", repr(name)
-			common.append(name)
-		else:
-			print "Remote subdirectory", repr(name), "not found locally"
-			if 'r' in mode and 'c' in mode:
-				pr = "Create local subdirectory %s? [y] " % \
-				     repr(name)
-				if 'y' in mode:
-					ok = 'y'
-				else:
-					ok = ask(pr, "y")
-				if ok[:1] in ('y', 'Y'):
-					local.mkdir(name)
-					print "Subdirectory %s made" % \
-						repr(name)
-					common.append(name)
-	lsubdirs = local.listsubdirs()
-	for name in lsubdirs:
-		if name not in subdirs:
-			print "Local subdirectory", repr(name), "not found remotely"
-	for name in common:
-		print "Entering subdirectory", repr(name)
-		local.cd(name)
-		remote.cd(name)
-		compare(local, remote, mode)
-		remote.back()
-		local.back()
+    print
+    print "PWD =", repr(os.getcwd())
+    sums_id = remote._send('sumlist')
+    subdirs_id = remote._send('listsubdirs')
+    remote._flush()
+    print "calculating local sums ..."
+    lsumdict = {}
+    for name, info in local.sumlist():
+        lsumdict[name] = info
+    print "getting remote sums ..."
+    sums = remote._recv(sums_id)
+    print "got", len(sums)
+    rsumdict = {}
+    for name, rsum in sums:
+        rsumdict[name] = rsum
+        if not lsumdict.has_key(name):
+            print repr(name), "only remote"
+            if 'r' in mode and 'c' in mode:
+                recvfile(local, remote, name)
+        else:
+            lsum = lsumdict[name]
+            if lsum != rsum:
+                print repr(name),
+                rmtime = remote.mtime(name)
+                lmtime = local.mtime(name)
+                if rmtime > lmtime:
+                    print "remote newer",
+                    if 'r' in mode:
+                        recvfile(local, remote, name)
+                elif lmtime > rmtime:
+                    print "local newer",
+                    if 'w' in mode:
+                        sendfile(local, remote, name)
+                else:
+                    print "same mtime but different sum?!?!",
+                print
+    for name in lsumdict.keys():
+        if not rsumdict.keys():
+            print repr(name), "only locally",
+            fl()
+            if 'w' in mode and 'c' in mode:
+                sendfile(local, remote, name)
+            elif 'r' in mode and 'd' in mode:
+                os.unlink(name)
+                print "removed."
+            print
+    print "gettin subdirs ..."
+    subdirs = remote._recv(subdirs_id)
+    common = []
+    for name in subdirs:
+        if local.isdir(name):
+            print "Common subdirectory", repr(name)
+            common.append(name)
+        else:
+            print "Remote subdirectory", repr(name), "not found locally"
+            if 'r' in mode and 'c' in mode:
+                pr = "Create local subdirectory %s? [y] " % \
+                     repr(name)
+                if 'y' in mode:
+                    ok = 'y'
+                else:
+                    ok = ask(pr, "y")
+                if ok[:1] in ('y', 'Y'):
+                    local.mkdir(name)
+                    print "Subdirectory %s made" % \
+                            repr(name)
+                    common.append(name)
+    lsubdirs = local.listsubdirs()
+    for name in lsubdirs:
+        if name not in subdirs:
+            print "Local subdirectory", repr(name), "not found remotely"
+    for name in common:
+        print "Entering subdirectory", repr(name)
+        local.cd(name)
+        remote.cd(name)
+        compare(local, remote, mode)
+        remote.back()
+        local.back()
 
 def sendfile(local, remote, name):
-	try:
-		remote.create(name)
-	except (IOError, os.error), msg:
-		print "cannot create:", msg
-		return
-	
-	print "sending ...",
-	fl()
-	
-	data = open(name).read()
-	
-	t1 = time.time()
-	
-	remote._send_noreply('write', name, data)
-	remote._flush()
-	
-	t2 = time.time()
-	
-	dt = t2-t1
-	print len(data), "bytes in", round(dt), "seconds",
-	if dt:
-		print "i.e.", round(len(data)/dt), "bytes/sec",
-	print
+    try:
+        remote.create(name)
+    except (IOError, os.error), msg:
+        print "cannot create:", msg
+        return
+
+    print "sending ...",
+    fl()
+
+    data = open(name).read()
+
+    t1 = time.time()
+
+    remote._send_noreply('write', name, data)
+    remote._flush()
+
+    t2 = time.time()
+
+    dt = t2-t1
+    print len(data), "bytes in", round(dt), "seconds",
+    if dt:
+        print "i.e.", round(len(data)/dt), "bytes/sec",
+    print
 
 def recvfile(local, remote, name):
-	ok = 0
-	try:
-		rv = recvfile_real(local, remote, name)
-		ok = 1
-		return rv
-	finally:
-		if not ok:
-			print "*** recvfile of %r failed, deleting" % (name,)
-			local.delete(name)
+    ok = 0
+    try:
+        rv = recvfile_real(local, remote, name)
+        ok = 1
+        return rv
+    finally:
+        if not ok:
+            print "*** recvfile of %r failed, deleting" % (name,)
+            local.delete(name)
 
 def recvfile_real(local, remote, name):
-	try:
-		local.create(name)
-	except (IOError, os.error), msg:
-		print "cannot create:", msg
-		return
-	
-	print "receiving ...",
-	fl()
-	
-	f = open(name, 'w')
-	t1 = time.time()
-	
-	length = 4*1024
-	offset = 0
-	id = remote._send('read', name, offset, length)
-	remote._flush()
-	while 1:
-		newoffset = offset + length
-		newid = remote._send('read', name, newoffset, length)
-		data = remote._recv(id)
-		id = newid
-		if not data: break
-		f.seek(offset)
-		f.write(data)
-		offset = newoffset
-	size = f.tell()
-	
-	t2 = time.time()
-	f.close()
-	
-	dt = t2-t1
-	print size, "bytes in", round(dt), "seconds",
-	if dt:
-		print "i.e.", int(size/dt), "bytes/sec",
-	print
-	remote._recv(id) # ignored
+    try:
+        local.create(name)
+    except (IOError, os.error), msg:
+        print "cannot create:", msg
+        return
+
+    print "receiving ...",
+    fl()
+
+    f = open(name, 'w')
+    t1 = time.time()
+
+    length = 4*1024
+    offset = 0
+    id = remote._send('read', name, offset, length)
+    remote._flush()
+    while 1:
+        newoffset = offset + length
+        newid = remote._send('read', name, newoffset, length)
+        data = remote._recv(id)
+        id = newid
+        if not data: break
+        f.seek(offset)
+        f.write(data)
+        offset = newoffset
+    size = f.tell()
+
+    t2 = time.time()
+    f.close()
+
+    dt = t2-t1
+    print size, "bytes in", round(dt), "seconds",
+    if dt:
+        print "i.e.", int(size/dt), "bytes/sec",
+    print
+    remote._recv(id) # ignored
 
 def fl():
-	sys.stdout.flush()
+    sys.stdout.flush()
 
 if __name__ == '__main__':
-	main()
+    main()