class RDoc::Markup::AttributeManager

def convert_attrs_word_pair_map(str, attrs, exclusive)

:nodoc:
def convert_attrs_word_pair_map(str, attrs, exclusive)
  # then non-matching
  unless @word_pair_map.empty? then
    @word_pair_map.each do |regexp, attr|
      next unless exclusive == exclusive?(attr)
      1 while str.gsub!(regexp) { |orig|
        w = (m = ($~))[2]
        updated = attrs.set_attrs(m.begin(2), w.length, attr)
        if updated
          NULL * m.match_length(1) + w + NULL * m.match_length(3)
        else
          orig
        end
      }
    end
  end
end