docs: def write(self, fp_):
          '''
          Makes the following changes from the RawConfigParser:
  
          1. Prepends options with a tab character.
          2. Does not write a blank line between sections.
          3. When an option's value is a list, a line for each option is written.
             This allows us to support multivars like a remote's "fetch" option.
          4. Drops support for continuation lines.
          '''
          convert = salt.utils.stringutils.to_bytes \
              if 'b' in fp_.mode \
              else salt.utils.stringutils.to_str
          if self._defaults:
              fp_.write(convert('[%s]\n' % self.DEFAULTSECT))
              for (key, value) in six.iteritems(self._defaults):
                  value = salt.utils.stringutils.to_unicode(value).replace('\n', '\n\t')
                  fp_.write(convert('%s = %s\n' % (key, value)))
          for section in self._sections:
              fp_.write(convert('[%s]\n' % section))
              for (key, value) in six.iteritems(self._sections[section]):
                  if (value is not None) or (self._optcre == self.OPTCRE):
                      if not isinstance(value, list):
                          value = [value]
                      for item in value:
                          fp_.write(convert('\t%s\n' % ' = '.join((key, item)).rstrip()))