Issue #28998: More APIs now support longs as well as ints.
diff --git a/Lib/asynchat.py b/Lib/asynchat.py
index 57459a0..392ee61 100644
--- a/Lib/asynchat.py
+++ b/Lib/asynchat.py
@@ -133,7 +133,7 @@
# no terminator, collect it all
self.collect_incoming_data (self.ac_in_buffer)
self.ac_in_buffer = ''
- elif isinstance(terminator, int) or isinstance(terminator, long):
+ elif isinstance(terminator, (int, long)):
# numeric terminator
n = terminator
if lb < n:
diff --git a/Lib/compiler/pyassem.py b/Lib/compiler/pyassem.py
index f52f7d0..b82073e 100644
--- a/Lib/compiler/pyassem.py
+++ b/Lib/compiler/pyassem.py
@@ -581,7 +581,7 @@
def twobyte(val):
"""Convert an int argument into high and low bytes"""
- assert isinstance(val, int)
+ assert isinstance(val, (int, long))
return divmod(val, 256)
class LineAddrTable:
diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py
index d4f4613..ba5c03c 100644
--- a/Lib/compiler/transformer.py
+++ b/Lib/compiler/transformer.py
@@ -1526,7 +1526,7 @@
def debug_tree(tree):
l = []
for elt in tree:
- if isinstance(elt, int):
+ if isinstance(elt, (int, long)):
l.append(_names.get(elt, elt))
elif isinstance(elt, str):
l.append(elt)
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 3ea1a7d..fdd7cb1 100755
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -1370,7 +1370,7 @@
raise ValueError("read from closed file")
if size is None:
size = -1
- elif not isinstance(size, int):
+ elif not isinstance(size, (int, long)):
raise TypeError('must be int, not ' + type(size).__name__)
result = self._line_buffer
self._line_buffer = ''
@@ -1393,7 +1393,7 @@
raise ValueError("read from closed file")
if size is None:
size = -1
- elif not isinstance(size, int):
+ elif not isinstance(size, (int, long)):
raise TypeError('must be int, not ' + type(size).__name__)
line = self._line_buffer or self.shell.readline()
if size < 0:
diff --git a/Lib/imaplib.py b/Lib/imaplib.py
index 826eea2..f813ece 100644
--- a/Lib/imaplib.py
+++ b/Lib/imaplib.py
@@ -1409,7 +1409,7 @@
be in the correct format.
"""
- if isinstance(date_time, (int, float)):
+ if isinstance(date_time, (int, long, float)):
tt = time.localtime(date_time)
elif isinstance(date_time, (tuple, time.struct_time)):
tt = date_time
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index 64e9924..365f420 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -1174,9 +1174,9 @@
elif isinstance(v, (tuple, list)):
nv = []
for item in v:
- if not isinstance(item, (basestring, int)):
+ if not isinstance(item, (basestring, int, long)):
break
- elif isinstance(item, int):
+ elif isinstance(item, (int, long)):
nv.append('%d' % item)
else:
# format it to proper Tcl code if it contains space
diff --git a/Lib/lib-tk/turtle.py b/Lib/lib-tk/turtle.py
index 264318e..52e669b 100644
--- a/Lib/lib-tk/turtle.py
+++ b/Lib/lib-tk/turtle.py
@@ -276,7 +276,7 @@
return self[0]*other[0]+self[1]*other[1]
return Vec2D(self[0]*other, self[1]*other)
def __rmul__(self, other):
- if isinstance(other, int) or isinstance(other, float):
+ if isinstance(other, (int, long, float)):
return Vec2D(self[0]*other, self[1]*other)
def __sub__(self, other):
return Vec2D(self[0]-other[0], self[1]-other[1])
@@ -2352,7 +2352,7 @@
self._resizemode = p["resizemode"]
if "stretchfactor" in p:
sf = p["stretchfactor"]
- if isinstance(sf, (int, float)):
+ if isinstance(sf, (int, long, float)):
sf = (sf, sf)
self._stretchfactor = sf
if "outline" in p:
diff --git a/Lib/lib2to3/pgen2/pgen.py b/Lib/lib2to3/pgen2/pgen.py
index ed16992..be4fcad 100644
--- a/Lib/lib2to3/pgen2/pgen.py
+++ b/Lib/lib2to3/pgen2/pgen.py
@@ -74,7 +74,7 @@
else:
# A named token (NAME, NUMBER, STRING)
itoken = getattr(token, label, None)
- assert isinstance(itoken, int), label
+ assert isinstance(itoken, (int, long)), label
assert itoken in token.tok_name, label
if itoken in c.tokens:
return c.tokens[itoken]
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index caf151d..2220582 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1222,7 +1222,7 @@
logger.log(level, "We have a %s", "mysterious problem", exc_info=1)
"""
- if not isinstance(level, int):
+ if not isinstance(level, (int, long)):
if raiseExceptions:
raise TypeError("level must be an integer")
else:
diff --git a/Lib/multiprocessing/pool.py b/Lib/multiprocessing/pool.py
index 991f87f..ceb93aa 100644
--- a/Lib/multiprocessing/pool.py
+++ b/Lib/multiprocessing/pool.py
@@ -86,7 +86,7 @@
def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None):
- assert maxtasks is None or (type(maxtasks) == int and maxtasks > 0)
+ assert maxtasks is None or (type(maxtasks) in (int, long) and maxtasks > 0)
put = outqueue.put
get = inqueue.get
if hasattr(inqueue, '_writer'):
diff --git a/Lib/multiprocessing/process.py b/Lib/multiprocessing/process.py
index 44c1e44..f6b03b1 100644
--- a/Lib/multiprocessing/process.py
+++ b/Lib/multiprocessing/process.py
@@ -227,7 +227,7 @@
else:
status = 'started'
- if type(status) is int:
+ if type(status) in (int, long):
if status == 0:
status = 'stopped'
else:
@@ -262,8 +262,8 @@
except SystemExit, e:
if not e.args:
exitcode = 1
- elif isinstance(e.args[0], int):
- exitcode = e.args[0]
+ elif isinstance(e.args[0], (int, long)):
+ exitcode = int(e.args[0])
else:
sys.stderr.write(str(e.args[0]) + '\n')
sys.stderr.flush()
diff --git a/Lib/multiprocessing/util.py b/Lib/multiprocessing/util.py
index 092b61c..394cc44 100644
--- a/Lib/multiprocessing/util.py
+++ b/Lib/multiprocessing/util.py
@@ -174,7 +174,7 @@
Class which supports object finalization using weakrefs
'''
def __init__(self, obj, callback, args=(), kwargs=None, exitpriority=None):
- assert exitpriority is None or type(exitpriority) is int
+ assert exitpriority is None or type(exitpriority) in (int, long)
if obj is not None:
self._weakref = weakref.ref(obj, self)
diff --git a/Lib/pickletools.py b/Lib/pickletools.py
index 8de53dd..c9366c8 100644
--- a/Lib/pickletools.py
+++ b/Lib/pickletools.py
@@ -185,7 +185,7 @@
assert isinstance(name, str)
self.name = name
- assert isinstance(n, int) and (n >= 0 or
+ assert isinstance(n, (int, long)) and (n >= 0 or
n in (UP_TO_NEWLINE,
TAKEN_FROM_ARGUMENT1,
TAKEN_FROM_ARGUMENT4))
@@ -873,7 +873,7 @@
assert isinstance(x, StackObject)
self.stack_after = stack_after
- assert isinstance(proto, int) and 0 <= proto <= 2
+ assert isinstance(proto, (int, long)) and 0 <= proto <= 2
self.proto = proto
assert isinstance(doc, str)
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 2022e97..407141e 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -507,7 +507,7 @@
p2cread, _ = _subprocess.CreatePipe(None, 0)
elif stdin == PIPE:
p2cread, p2cwrite = _subprocess.CreatePipe(None, 0)
- elif isinstance(stdin, int):
+ elif isinstance(stdin, (int, long)):
p2cread = msvcrt.get_osfhandle(stdin)
else:
# Assuming file-like object
@@ -524,7 +524,7 @@
_, c2pwrite = _subprocess.CreatePipe(None, 0)
elif stdout == PIPE:
c2pread, c2pwrite = _subprocess.CreatePipe(None, 0)
- elif isinstance(stdout, int):
+ elif isinstance(stdout, (int, long)):
c2pwrite = msvcrt.get_osfhandle(stdout)
else:
# Assuming file-like object
@@ -543,7 +543,7 @@
errread, errwrite = _subprocess.CreatePipe(None, 0)
elif stderr == STDOUT:
errwrite = c2pwrite
- elif isinstance(stderr, int):
+ elif isinstance(stderr, (int, long)):
errwrite = msvcrt.get_osfhandle(stderr)
else:
# Assuming file-like object
@@ -800,7 +800,7 @@
elif stdin == PIPE:
p2cread, p2cwrite = self.pipe_cloexec()
to_close.update((p2cread, p2cwrite))
- elif isinstance(stdin, int):
+ elif isinstance(stdin, (int, long)):
p2cread = stdin
else:
# Assuming file-like object
@@ -811,7 +811,7 @@
elif stdout == PIPE:
c2pread, c2pwrite = self.pipe_cloexec()
to_close.update((c2pread, c2pwrite))
- elif isinstance(stdout, int):
+ elif isinstance(stdout, (int, long)):
c2pwrite = stdout
else:
# Assuming file-like object
@@ -827,7 +827,7 @@
errwrite = c2pwrite
else: # child's stdout is not set, use parent's stdout
errwrite = sys.__stdout__.fileno()
- elif isinstance(stderr, int):
+ elif isinstance(stderr, (int, long)):
errwrite = stderr
else:
# Assuming file-like object
diff --git a/Lib/unittest/signals.py b/Lib/unittest/signals.py
index e6a5fc5..9fbcc9f 100644
--- a/Lib/unittest/signals.py
+++ b/Lib/unittest/signals.py
@@ -10,7 +10,7 @@
def __init__(self, default_handler):
self.called = False
self.original_handler = default_handler
- if isinstance(default_handler, int):
+ if isinstance(default_handler, (int, long)):
if default_handler == signal.SIG_DFL:
# Pretend it's signal.default_int_handler instead.
default_handler = signal.default_int_handler
diff --git a/Lib/warnings.py b/Lib/warnings.py
index b0d53aa..41f700b 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -84,10 +84,10 @@
"category must be a class"
assert issubclass(category, Warning), "category must be a Warning subclass"
assert isinstance(module, basestring), "module must be a string"
- assert isinstance(lineno, int) and lineno >= 0, \
+ assert isinstance(lineno, (int, long)) and lineno >= 0, \
"lineno must be an int >= 0"
item = (action, re.compile(message, re.I), category,
- re.compile(module), lineno)
+ re.compile(module), int(lineno))
if append:
filters.append(item)
else:
@@ -105,9 +105,9 @@
"""
assert action in ("error", "ignore", "always", "default", "module",
"once"), "invalid action: %r" % (action,)
- assert isinstance(lineno, int) and lineno >= 0, \
+ assert isinstance(lineno, (int, long)) and lineno >= 0, \
"lineno must be an int >= 0"
- item = (action, None, category, None, lineno)
+ item = (action, None, category, None, int(lineno))
if append:
filters.append(item)
else: