path.cat --> join
diff --git a/Lib/dircache.py b/Lib/dircache.py
index b40f76e..1eebbbc 100644
--- a/Lib/dircache.py
+++ b/Lib/dircache.py
@@ -32,5 +32,5 @@
 
 def annotate(head, list): # Add '/' suffixes to directories
 	for i in range(len(list)):
-		if path.isdir(path.cat(head, list[i])):
+		if path.isdir(path.join(head, list[i])):
 			list[i] = list[i] + '/'
diff --git a/Lib/dircmp.py b/Lib/dircmp.py
index 819f0bd..60afcdd 100644
--- a/Lib/dircmp.py
+++ b/Lib/dircmp.py
@@ -53,8 +53,8 @@
 		dd.common_funny = []
 		#
 		for x in dd.common:
-			a_path = path.cat(dd.a, x)
-			b_path = path.cat(dd.b, x)
+			a_path = path.join(dd.a, x)
+			b_path = path.join(dd.b, x)
 			#
 			ok = 1
 			try:
@@ -92,8 +92,8 @@
 		# The hide and ignore properties are inherited from the parent
 		dd.subdirs = {}
 		for x in dd.common_dirs:
-			a_x = path.cat(dd.a, x)
-			b_x = path.cat(dd.b, x)
+			a_x = path.join(dd.a, x)
+			b_x = path.join(dd.b, x)
 			dd.subdirs[x] = newdd = dircmp().new(a_x, b_x)
 			newdd.hide = dd.hide
 			newdd.ignore = dd.ignore
@@ -151,7 +151,7 @@
 def cmpfiles(a, b, common):
 	res = ([], [], [])
 	for x in common:
-		res[cmp(path.cat(a, x), path.cat(b, x))].append(x)
+		res[cmp(path.join(a, x), path.join(b, x))].append(x)
 	return res
 
 
diff --git a/Lib/glob.py b/Lib/glob.py
index 8a70f0e..e29095c 100644
--- a/Lib/glob.py
+++ b/Lib/glob.py
@@ -17,7 +17,7 @@
 		result = []
 		for dirname in list:
 			if basename or path.isdir(dirname):
-				name = path.cat(dirname, basename)
+				name = path.join(dirname, basename)
 				if path.exists(name):
 					result.append(name)
 	else:
@@ -25,7 +25,7 @@
 		for dirname in list:
 			sublist = glob1(dirname, basename)
 			for name in sublist:
-				result.append(path.cat(dirname, name))
+				result.append(path.join(dirname, name))
 	return result
 
 def glob1(dirname, pattern):
diff --git a/Lib/lib-stdwin/dirwin.py b/Lib/lib-stdwin/dirwin.py
index 0b3b5db..d0a8525 100644
--- a/Lib/lib-stdwin/dirwin.py
+++ b/Lib/lib-stdwin/dirwin.py
@@ -11,7 +11,7 @@
 def action(w, string, i, detail):
 	(h, v), clicks, button, mask = detail
 	if clicks = 2:
-		name = path.cat(w.name, string)
+		name = path.join(w.name, string)
 		try:
 			w2 = anywin.open(name)
 			w2.parent = w
@@ -19,7 +19,7 @@
 			stdwin.message('Can\'t open ' + name + ': ' + why[1])
 
 def open(name):
-	name = path.cat(name, '')
+	name = path.join(name, '')
 	list = dircache.opendir(name)[:]
 	list.sort()
 	dircache.annotate(name, list)
diff --git a/Lib/shutil.py b/Lib/shutil.py
index cf63396..d3521ec 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -52,8 +52,8 @@
 	dot_dotdot = '.', '..'
 	for name in names:
 		if name not in dot_dotdot:
-			srcname = path.cat(src, name)
-			dstname = path.cat(dst, name)
+			srcname = path.join(src, name)
+			dstname = path.join(dst, name)
 			#print 'Copying', srcname, 'to', dstname
 			try:
 				#if path.islink(srcname):
diff --git a/Lib/stdwin/dirwin.py b/Lib/stdwin/dirwin.py
index 0b3b5db..d0a8525 100755
--- a/Lib/stdwin/dirwin.py
+++ b/Lib/stdwin/dirwin.py
@@ -11,7 +11,7 @@
 def action(w, string, i, detail):
 	(h, v), clicks, button, mask = detail
 	if clicks = 2:
-		name = path.cat(w.name, string)
+		name = path.join(w.name, string)
 		try:
 			w2 = anywin.open(name)
 			w2.parent = w
@@ -19,7 +19,7 @@
 			stdwin.message('Can\'t open ' + name + ': ' + why[1])
 
 def open(name):
-	name = path.cat(name, '')
+	name = path.join(name, '')
 	list = dircache.opendir(name)[:]
 	list.sort()
 	dircache.annotate(name, list)