def METHOD_NAME(line, fp):
    'Parse *line* and lookahead into *fp* as iterator for continuing lines.  Return (multiline, next_line) where *multiline* can contain newlines and *next_line is the line after the combined *multiline*.  Handle "\\" at end and "+" at beginning of lines.  *next_line* will be None iff iterator is exhausted.'
    while True:
        try:
            next_line = next(fp)
        except StopIteration:
            return line, None
        if line.endswith('\\'):
            line = line[:-1] + next_line
        elif next_line.startswith('+'):
            # strip leading r'+ ?'
            next_line = next_line[2:] if next_line.startswith('+ ') else next_line[1:]
            line += '\n' + next_line
        else:
            return line, next_line