same thing as for dospath, plus HOMEDRIVE/HOMEPATH support
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index 1479e1b..1109d44 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -1,4 +1,4 @@
-# Module 'dospath' -- common operations on DOS pathnames
+# Module 'ntpath' -- common operations on DOS pathnames
 
 import os
 import stat
@@ -7,27 +7,22 @@
 
 # Normalize the case of a pathname.
 # On MS-DOS it maps the pathname to lowercase, turns slashes into
-# backslashes and maps invalid consecutive characters to a single '_'.
+# backslashes.
 # Other normalizations (such as optimizing '../' away) are not allowed
 # (this is done by normpath).
-
-mapchar = '_'
+# Previously, this version mapped invalid consecutive characters to a 
+# single '_', but this has been removed.  This functionality should 
+# possibly be added as a new function.
 
 def normcase(s):
 	res, s = splitdrive(s)
 	for c in s:
 		if c in '/\\':
 			res = res + os.sep
-		elif c == '.' and res[-1:] == os.sep:
-			res = res + mapchar + c
-		elif ord(c) < 32 or c in ' "*+,:;<=>?[]|':
-			if res[-1:] != mapchar:
-				res = res + mapchar
 		else:
 			res = res + c
 	return string.lower(res)
 
-
 # Return wheter a path is absolute.
 # Trivial in Posix, harder on the Mac or MS-DOS.
 # For DOS it is absolute if it starts with a slash or backslash (current
@@ -243,9 +238,13 @@
 	while i < n and path[i] not in '/\\':
 		i = i+1
 	if i == 1:
-		if not os.environ.has_key('HOME'):
+		try:
+			drive=os.environ['HOMEDRIVE']
+		except KeyError:
+			drive = ''
+		if not os.environ.has_key('HOMEPATH'):
 			return path
-		userhome = os.environ['HOME']
+		userhome = join(drive, os.environ['HOMEPATH'])
 	else:
 		return path
 	return userhome + path[i:]