#11182: remove the unused and undocumented pydoc.Scanner class.  Patch by Martin Morrison.
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index 4d681b0..7505ccd 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1984,30 +1984,6 @@
 
 help = Helper()
 
-class Scanner:
-    """A generic tree iterator."""
-    def __init__(self, roots, children, descendp):
-        self.roots = roots[:]
-        self.state = []
-        self.children = children
-        self.descendp = descendp
-
-    def next(self):
-        if not self.state:
-            if not self.roots:
-                return None
-            root = self.roots.pop(0)
-            self.state = [(root, self.children(root))]
-        node, children = self.state[-1]
-        if not children:
-            self.state.pop()
-            return self.next()
-        child = children.pop(0)
-        if self.descendp(child):
-            self.state.append((child, self.children(child)))
-        return child
-
-
 class ModuleScanner:
     """An interruptible scanner that searches module synopses."""
 
diff --git a/Misc/ACKS b/Misc/ACKS
index 734a17c..36b98b0 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -848,6 +848,7 @@
 Ben Morgan
 Derek Morr
 James A Morrison
+Martin Morrison
 Derek McTavish Mounce
 Alessandro Moura
 Pablo Mouzo
diff --git a/Misc/NEWS b/Misc/NEWS
index 098d328..bccc52b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -45,6 +45,9 @@
 Library
 -------
 
+- Issue #11182: remove the unused and undocumented pydoc.Scanner class.
+  Patch by Martin Morrison.
+
 - Issue #17741: Add ElementTree.IncrementalParser, an event-driven parser
   for non-blocking applications.