'The printing (as opposed to the parsing part of a \'list\'
command.'

def print_list_lines(self, filename, first, last):

    try:
        Colors = self.color_scheme_table.active_colors
        ColorsNormal = Colors.Normal
        tpl_line = ('%%s%s%%s    %s%%s' % (Colors.lineno, ColorsNormal))
        tpl_line_em = ('%%s%s%%s    %s%%s%s' % (Colors.linenoEm, Colors.line, ColorsNormal))
        src = []
        if ((filename == '<string>') and hasattr(self, '_exec_filename')):
            filename = self._exec_filename
        for lineno in range(first, (last + 1)):
            line = linecache.getline(filename, lineno)
            if (not line):
                break
            if (lineno == self.curframe.f_lineno):
                line = self.__format_line(tpl_line_em, filename, lineno, line, arrow=True)
            else:
                line = self.__format_line(tpl_line, filename, lineno, line, arrow=False)
            src.append(line)
            self.lineno = lineno
        print ''.join(src)
    except KeyboardInterrupt:
        pass
