code: def waitfor(self, relist, timeout=None, cleanup=None):
          
          return self._waitfor(relist, timeout, False, cleanup)
docs: Read until one from a list of a regular expressions matches.
  
          The first argument is a list of regular expressions, either
          compiled (re.RegexObject instances) or uncompiled (strings).
          The optional second argument is a timeout, in seconds; default
          is no timeout.
  
          Return a tuple of three items: the index in the list of the
          first regular expression that matches; the match object
          returned; and the text read up till and including the match.
  
          If EOF is read and no text was read, raise EOFError.
          Otherwise, when nothing matches, return (-1, None, text) where
          text is the text received so far (may be the empty string if a
          timeout happened).
  
          If a regular expression ends with a greedy match (e.g. '.*')
          or if more than one expression can match the same input, the
          results are undeterministic, and may depend on the I/O timing.