diff --git a/lib/rdoc/markup/attr_span.rb b/lib/rdoc/markup/attr_span.rb
index 6fe939fe7d..20ef11cd6d 100644
--- a/lib/rdoc/markup/attr_span.rb
+++ b/lib/rdoc/markup/attr_span.rb
@@ -17,7 +17,7 @@ class RDoc::Markup::AttrSpan
def set_attrs(start, length, bits)
updated = false
for i in start ... (start+length)
- if (@exclusive & @attrs[i]) == 0
+ if (@exclusive & @attrs[i]) == 0 || (@exclusive & bits) != 0
@attrs[i] |= bits
updated = true
end
diff --git a/lib/rdoc/markup/attribute_manager.rb b/lib/rdoc/markup/attribute_manager.rb
index 2de8a7c9ee..50764510f3 100644
--- a/lib/rdoc/markup/attribute_manager.rb
+++ b/lib/rdoc/markup/attribute_manager.rb
@@ -75,13 +75,13 @@ class RDoc::Markup::AttributeManager
@exclusive_bitmap = 0
@attributes = RDoc::Markup::Attributes.new
- add_word_pair "*", "*", :BOLD
- add_word_pair "_", "_", :EM
+ add_word_pair "*", "*", :BOLD, true
+ add_word_pair "_", "_", :EM, true
add_word_pair "+", "+", :TT, true
- add_html "em", :EM
- add_html "i", :EM
- add_html "b", :BOLD
+ add_html "em", :EM, true
+ add_html "i", :EM, true
+ add_html "b", :BOLD, true
add_html "tt", :TT, true
add_html "code", :TT, true
end
diff --git a/test/rdoc/test_rdoc_markup_attribute_manager.rb b/test/rdoc/test_rdoc_markup_attribute_manager.rb
index 2ec135dca7..944364ba89 100644
--- a/test/rdoc/test_rdoc_markup_attribute_manager.rb
+++ b/test/rdoc/test_rdoc_markup_attribute_manager.rb
@@ -250,6 +250,7 @@ class TestRDocMarkupAttributeManager < RDoc::TestCase
assert_equal 'aaa
[:symbol]', output('+aaa+[:symbol]')
assert_equal 'aaa[:symbol]
', output('+aaa[:symbol]+')
assert_equal 'aaa[:symbol]', output('aaa[:symbol]')
+ assert_equal 'index
', output('index')
end
def test_exclude_tag_flow