'Return a list of tuples with (name, value) for each option
in the section.
All % interpolations are expanded in the return values, based on the
defaults passed into the constructor, unless the optional argument
`raw\' is true.  Additional substitutions may be provided using the
`vars\' argument, which must be a dictionary whose contents overrides
any pre-existing defaults.
The section DEFAULT is special.'

def items(self, section, raw=False, vars=None):

    d = self._defaults.copy()
    try:
        d.update(self._sections[section])
    except KeyError:
        if (section != DEFAULTSECT):
            raise NoSectionError(section)
    if vars:
        for (key, value) in vars.items():
            d[self.optionxform(key)] = value
    options = d.keys()
    if ('__name__' in options):
        options.remove('__name__')
    if raw:
        return [(option, d[option]) for option in options]
    else:
        return [(option, self._interpolate(section, option, d[option], d)) for option in options]
