In completer(), return None instead of raising an IndexError when
there are no more completions left.  (This for compatibility with
Donald Beaudry's code.)
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py
index e0ae72c..92633ab 100644
--- a/Lib/rlcompleter.py
+++ b/Lib/rlcompleter.py
@@ -58,7 +58,10 @@
                 self.matches = self.attr_matches(text)
             else:
                 self.matches = self.global_matches(text)
-        return self.matches[state]
+        try:
+            return self.matches[state]
+        except IndexError:
+            return None
 
     def global_matches(self, text):
         """Compute matches when text is a simple name.