diff --git a/Lib/pprint.py b/Lib/pprint.py
index 330099d..77f2a56 100644
--- a/Lib/pprint.py
+++ b/Lib/pprint.py
@@ -185,25 +185,18 @@
             if issubclass(typ, list):
                 write('[')
                 endchar = ']'
-            elif issubclass(typ, set):
-                if not length:
-                    write('set()')
-                    return
-                write('set([')
-                endchar = '])'
-                object = _sorted(object)
-                indent += 4
-            elif issubclass(typ, frozenset):
-                if not length:
-                    write('frozenset()')
-                    return
-                write('frozenset([')
-                endchar = '])'
-                object = _sorted(object)
-                indent += 10
-            else:
+            elif issubclass(typ, tuple):
                 write('(')
                 endchar = ')'
+            else:
+                if not length:
+                    write(rep)
+                    return
+                write(typ.__name__)
+                write('([')
+                endchar = '])'
+                indent += len(typ.__name__) + 1
+                object = _sorted(object)
             if self._indent_per_level > 1 and sepLines:
                 write((self._indent_per_level - 1) * ' ')
             if length:
diff --git a/Lib/test/test_pprint.py b/Lib/test/test_pprint.py
index e0137df..50493f6 100644
--- a/Lib/test/test_pprint.py
+++ b/Lib/test/test_pprint.py
@@ -24,6 +24,20 @@
     def __repr__(self):
         return tuple.__repr__(self)
 
+class set2(set):
+    pass
+
+class set3(set):
+    def __repr__(self):
+        return set.__repr__(self)
+
+class frozenset2(frozenset):
+    pass
+
+class frozenset3(frozenset):
+    def __repr__(self):
+        return frozenset.__repr__(self)
+
 class dict2(dict):
     pass
 
@@ -114,22 +128,24 @@
         for simple in (0, 0L, 0+0j, 0.0, "", uni(""),
                        (), tuple2(), tuple3(),
                        [], list2(), list3(),
+                       set(), set2(), set3(),
+                       frozenset(), frozenset2(), frozenset3(),
                        {}, dict2(), dict3(),
                        self.assertTrue, pprint,
                        -6, -6L, -6-6j, -1.5, "x", uni("x"), (3,), [3], {3: 6},
                        (1,2), [3,4], {5: 6},
                        tuple2((1,2)), tuple3((1,2)), tuple3(range(100)),
                        [3,4], list2([3,4]), list3([3,4]), list3(range(100)),
+                       set({7}), set2({7}), set3({7}),
+                       frozenset({8}), frozenset2({8}), frozenset3({8}),
                        dict2({5: 6}), dict3({5: 6}),
                        range(10, -11, -1)
                       ):
             native = repr(simple)
-            for function in "pformat", "saferepr":
-                f = getattr(pprint, function)
-                got = f(simple)
-                self.assertEqual(native, got,
-                                 "expected %s got %s from pprint.%s" %
-                                 (native, got, function))
+            self.assertEqual(pprint.pformat(simple), native)
+            self.assertEqual(pprint.pformat(simple, width=1, indent=0)
+                             .replace('\n', ' '), native)
+            self.assertEqual(pprint.saferepr(simple), native)
 
     def test_basic_line_wrap(self):
         # verify basic line-wrapping operation
@@ -205,19 +221,59 @@
         self.assertEqual(DottedPrettyPrinter().pformat(o), exp)
 
     def test_set_reprs(self):
-        self.assertEqual(pprint.pformat(set()), 'set()')
+        self.assertEqual(pprint.pformat(set()), 'set([])')
         self.assertEqual(pprint.pformat(set(range(3))), 'set([0, 1, 2])')
-        self.assertEqual(pprint.pformat(frozenset()), 'frozenset()')
-        self.assertEqual(pprint.pformat(frozenset(range(3))), 'frozenset([0, 1, 2])')
+        self.assertEqual(pprint.pformat(set(range(7)), width=20), '''\
+set([0,
+     1,
+     2,
+     3,
+     4,
+     5,
+     6])''')
+        self.assertEqual(pprint.pformat(set2(range(7)), width=20), '''\
+set2([0,
+      1,
+      2,
+      3,
+      4,
+      5,
+      6])''')
+        self.assertEqual(pprint.pformat(set3(range(7)), width=20),
+                         'set3([0, 1, 2, 3, 4, 5, 6])')
+
+        self.assertEqual(pprint.pformat(frozenset()), 'frozenset([])')
+        self.assertEqual(pprint.pformat(frozenset(range(3))),
+                         'frozenset([0, 1, 2])')
+        self.assertEqual(pprint.pformat(frozenset(range(7)), width=20), '''\
+frozenset([0,
+           1,
+           2,
+           3,
+           4,
+           5,
+           6])''')
+        self.assertEqual(pprint.pformat(frozenset2(range(7)), width=20), '''\
+frozenset2([0,
+            1,
+            2,
+            3,
+            4,
+            5,
+            6])''')
+        self.assertEqual(pprint.pformat(frozenset3(range(7)), width=20),
+                         'frozenset3([0, 1, 2, 3, 4, 5, 6])')
+
+    def test_set_of_sets_reprs(self):
         cube_repr_tgt = """\
 {frozenset([]): frozenset([frozenset([2]), frozenset([0]), frozenset([1])]),
- frozenset([0]): frozenset([frozenset(),
+ frozenset([0]): frozenset([frozenset([]),
                             frozenset([0, 2]),
                             frozenset([0, 1])]),
- frozenset([1]): frozenset([frozenset(),
+ frozenset([1]): frozenset([frozenset([]),
                             frozenset([1, 2]),
                             frozenset([0, 1])]),
- frozenset([2]): frozenset([frozenset(),
+ frozenset([2]): frozenset([frozenset([]),
                             frozenset([1, 2]),
                             frozenset([0, 2])]),
  frozenset([1, 2]): frozenset([frozenset([2]),
@@ -243,7 +299,7 @@
                                                             frozenset([frozenset([0]),
                                                                        frozenset([0,
                                                                                   1])]),
-                                                            frozenset([frozenset(),
+                                                            frozenset([frozenset([]),
                                                                        frozenset([0])]),
                                                             frozenset([frozenset([2]),
                                                                        frozenset([0,
@@ -259,7 +315,7 @@
                                                             frozenset([frozenset([1]),
                                                                        frozenset([1,
                                                                                   2])]),
-                                                            frozenset([frozenset(),
+                                                            frozenset([frozenset([]),
                                                                        frozenset([1])])]),
  frozenset([frozenset([1, 2]), frozenset([1])]): frozenset([frozenset([frozenset([1,
                                                                                   2]),
@@ -269,7 +325,7 @@
                                                             frozenset([frozenset([2]),
                                                                        frozenset([1,
                                                                                   2])]),
-                                                            frozenset([frozenset(),
+                                                            frozenset([frozenset([]),
                                                                        frozenset([1])]),
                                                             frozenset([frozenset([1]),
                                                                        frozenset([0,
@@ -285,7 +341,7 @@
                                                             frozenset([frozenset([2]),
                                                                        frozenset([0,
                                                                                   2])]),
-                                                            frozenset([frozenset(),
+                                                            frozenset([frozenset([]),
                                                                        frozenset([2])])]),
  frozenset([frozenset([]), frozenset([0])]): frozenset([frozenset([frozenset([0]),
                                                                    frozenset([0,
@@ -293,16 +349,16 @@
                                                         frozenset([frozenset([0]),
                                                                    frozenset([0,
                                                                               2])]),
-                                                        frozenset([frozenset(),
+                                                        frozenset([frozenset([]),
                                                                    frozenset([1])]),
-                                                        frozenset([frozenset(),
+                                                        frozenset([frozenset([]),
                                                                    frozenset([2])])]),
- frozenset([frozenset([]), frozenset([1])]): frozenset([frozenset([frozenset(),
+ frozenset([frozenset([]), frozenset([1])]): frozenset([frozenset([frozenset([]),
                                                                    frozenset([0])]),
                                                         frozenset([frozenset([1]),
                                                                    frozenset([1,
                                                                               2])]),
-                                                        frozenset([frozenset(),
+                                                        frozenset([frozenset([]),
                                                                    frozenset([2])]),
                                                         frozenset([frozenset([1]),
                                                                    frozenset([0,
@@ -310,9 +366,9 @@
  frozenset([frozenset([2]), frozenset([])]): frozenset([frozenset([frozenset([2]),
                                                                    frozenset([1,
                                                                               2])]),
-                                                        frozenset([frozenset(),
+                                                        frozenset([frozenset([]),
                                                                    frozenset([0])]),
-                                                        frozenset([frozenset(),
+                                                        frozenset([frozenset([]),
                                                                    frozenset([1])]),
                                                         frozenset([frozenset([2]),
                                                                    frozenset([0,
@@ -333,7 +389,7 @@
                                                                   frozenset([frozenset([1]),
                                                                              frozenset([0,
                                                                                         1])])]),
- frozenset([frozenset([0]), frozenset([0, 1])]): frozenset([frozenset([frozenset(),
+ frozenset([frozenset([0]), frozenset([0, 1])]): frozenset([frozenset([frozenset([]),
                                                                        frozenset([0])]),
                                                             frozenset([frozenset([0,
                                                                                   1]),
@@ -357,7 +413,7 @@
                                                             frozenset([frozenset([0]),
                                                                        frozenset([0,
                                                                                   2])]),
-                                                            frozenset([frozenset(),
+                                                            frozenset([frozenset([]),
                                                                        frozenset([2])])]),
  frozenset([frozenset([0, 1, 2]), frozenset([0, 2])]): frozenset([frozenset([frozenset([1,
                                                                                         2]),
