Index: Lib/pprint.py =================================================================== --- Lib/pprint.py (revision 55161) +++ Lib/pprint.py (working copy) @@ -103,19 +103,19 @@ self._stream = _sys.stdout def pprint(self, object): - self._format(object, self._stream, 0, 0, {}, 0) + self._format(object, self._stream, 0, 0, {}, 1) self._stream.write("\n") def pformat(self, object): sio = _StringIO() - self._format(object, sio, 0, 0, {}, 0) + self._format(object, sio, 0, 0, {}, 1) return sio.getvalue() def isrecursive(self, object): - return self.format(object, {}, 0, 0)[2] + return self.format(object, {}, 0, 1)[2] def isreadable(self, object): - s, readable, recursive = self.format(object, {}, 0, 0) + s, readable, recursive = self.format(object, {}, 0, 1) return readable and not recursive def _format(self, object, stream, indent, allowance, context, level): @@ -235,7 +235,7 @@ if not object: return "{}", True, False objid = _id(object) - if maxlevels and level > maxlevels: + if maxlevels and level >= maxlevels: return "{...}", False, objid in context if objid in context: return _recursion(object), False, True @@ -269,7 +269,7 @@ return "()", True, False format = "(%s)" objid = _id(object) - if maxlevels and level > maxlevels: + if maxlevels and level >= maxlevels: return format % "...", False, objid in context if objid in context: return _recursion(object), False, True