diff --git a/Lib/Queue.py b/Lib/Queue.py
index 0d69777..5125fd5 100644
--- a/Lib/Queue.py
+++ b/Lib/Queue.py
@@ -7,6 +7,7 @@
 	# Initialize a queue object with a given maximum size
 	# (If maxsize is <= 0, the maximum size is infinite)
 	def __init__(self, maxsize):
+		import thread
 		self._init(maxsize)
 		self.mutex = thread.allocate_lock()
 		self.esema = thread.allocate_lock()
diff --git a/Lib/calendar.py b/Lib/calendar.py
index b4e3aad..4dfcf0c 100644
--- a/Lib/calendar.py
+++ b/Lib/calendar.py
@@ -6,7 +6,6 @@
 
 # Import functions and variables from time module
 from time import gmtime, localtime, mktime, asctime, ctime
-from time import timezone, altzone, daylight, tzname
 
 # Exception raised for bad input (with string parameter for details)
 error = 'calendar.error'
diff --git a/Lib/os.py b/Lib/os.py
index 7322fa5..bb90f2e 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -1,4 +1,4 @@
-# os.py -- either mac or posix depending on what system we're on.
+# os.py -- either mac, dos or posix depending on what system we're on.
 
 # This exports:
 # - all functions from either posix or mac, e.g., os.unlink, os.stat, etc.
@@ -14,7 +14,7 @@
 # and opendir), and leave all pathname manipulation to os.path
 # (e.g., split and join).
 
-# XXX This will need to distinguish between real posix and MS-DOS emulation
+# XXX This is incorrect if the import *path fails...
 
 try:
 	from posix import *
@@ -30,14 +30,24 @@
 	path = posixpath
 	del posixpath
 except ImportError:
-	from mac import *
-	name = 'mac'
-	curdir = ':'
-	pardir = '::'
-	sep = ':'
-	import macpath
-	path = macpath
-	del macpath
+	try:
+		from mac import *
+		name = 'mac'
+		curdir = ':'
+		pardir = '::'
+		sep = ':'
+		import macpath
+		path = macpath
+		del macpath
+	except ImportError:
+		from dos import *
+		name = 'dos'
+		curdir = '.'		# XXX doesn't always work
+		pardir = '..'		# XXX doesn't always work
+		sep = '/'		# XXX or '\\' ???
+		import dospath
+		path = dospath
+		del dospath
 
 def execl(file, *args):
 	execv(file, args)
diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py
index 742477f..0988574 100644
--- a/Lib/test/test_grammar.py
+++ b/Lib/test/test_grammar.py
@@ -23,9 +23,12 @@
 print '1.1.2.1 Plain integers'
 if 0xff <> 255: raise TestFailed, 'hex int'
 if 0377 <> 255: raise TestFailed, 'octal int'
-if  2147483647   != 017777777777: raise TestFailed, 'max positive int'
-# Change the following line to "if 0:" if you have 64-bit integers
-if 1:
+if  2147483647   != 017777777777: raise TestFailed, 'large positive int'
+try:
+	from sys import maxint
+except ImportError:
+	maxint = 2147483647
+if maxint == 2147483647:
 	if -2147483647-1 != 020000000000: raise TestFailed, 'max negative int'
 	# XXX -2147483648
 	if 037777777777 != -1: raise TestFailed, 'oct -1'
@@ -37,6 +40,21 @@
 			continue
 		raise TestFailed, \
 			  'No OverflowError on huge integer literal ' + `s`
+elif eval('maxint == 9223372036854775807'):
+	if eval('9223372036854775807-1 != -01000000000000000000000'):
+		raise TestFailed, 'max negative int'
+	if eval('01777777777777777777777') != -1: raise TestFailed, 'oct -1'
+	if eval('0xffffffffffffffff') != -1: raise TestFailed, 'hex -1'
+	for s in '9223372036854775808', '02000000000000000000000', \
+		 '0x10000000000000000':
+		try:
+			x = eval(s)
+		except OverflowError:
+			continue
+		raise TestFailed, \
+			  'No OverflowError on huge integer literal ' + `s`
+else:
+	print 'Weird maxint value', maxint
 
 print '1.1.2.2 Long integers'
 x = 0L
