code: def items(self, section=_UNSET, raw=False, vars=None):
          
          if section is _UNSET:
              return super(RawConfigParser, self).items()
          d = self._defaults.copy()
          try:
              d.update(self._sections[section])
          except KeyError:
              if section != self.default_section:
                  raise NoSectionError(section)
          # Update with the entry specific variables
          if vars:
              for key, value in vars.items():
                  d[self.optionxform(key)] = value
          value_getter = lambda option: self._interpolation.before_get(self,
              section, option, d[option], d)
          if raw:
              value_getter = lambda option: d[option]
          return [(option, value_getter(option)) for option in d.keys()]
docs: Return a list of (name, value) tuples for each option in a 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.