mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/rdoc] fix: comments in C files use the global markup option
Previously, Parser::C comments all defaulted to "rdoc" format, even when the user had set a different default with the `--markup=<choice>` option. https://github.com/ruby/rdoc/commit/4643b08a26
This commit is contained in:
parent
d4894e81c0
commit
fbd0516afc
2 changed files with 22 additions and 1 deletions
|
@ -173,6 +173,8 @@ class RDoc::Parser::C < RDoc::Parser
|
||||||
@classes = load_variable_map :c_class_variables
|
@classes = load_variable_map :c_class_variables
|
||||||
@singleton_classes = load_variable_map :c_singleton_class_variables
|
@singleton_classes = load_variable_map :c_singleton_class_variables
|
||||||
|
|
||||||
|
@markup = @options.markup
|
||||||
|
|
||||||
# class_variable => { function => [method, ...] }
|
# class_variable => { function => [method, ...] }
|
||||||
@methods = Hash.new { |h, f| h[f] = Hash.new { |i, m| i[m] = [] } }
|
@methods = Hash.new { |h, f| h[f] = Hash.new { |i, m| i[m] = [] } }
|
||||||
|
|
||||||
|
@ -1223,6 +1225,8 @@ class RDoc::Parser::C < RDoc::Parser
|
||||||
end
|
end
|
||||||
|
|
||||||
def new_comment text = nil, location = nil, language = nil
|
def new_comment text = nil, location = nil, language = nil
|
||||||
RDoc::Comment.new(text, location, language)
|
RDoc::Comment.new(text, location, language).tap do |comment|
|
||||||
|
comment.format = @markup
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1946,6 +1946,23 @@ void Init_Blah(void) {
|
||||||
assert_equal("rdoc", klass.attributes.find {|a| a.name == "default_format"}.comment.format)
|
assert_equal("rdoc", klass.attributes.find {|a| a.name == "default_format"}.comment.format)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_markup_format_override
|
||||||
|
content = <<-EOF
|
||||||
|
void Init_Blah(void) {
|
||||||
|
cBlah = rb_define_class("Blah", rb_cObject);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This should be interpreted in the default format.
|
||||||
|
*/
|
||||||
|
rb_attr(cBlah, rb_intern("default_format"), 1, 1, Qfalse);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
@options.markup = "markdown"
|
||||||
|
klass = util_get_class content, 'cBlah'
|
||||||
|
assert_equal("markdown", klass.attributes.find {|a| a.name == "default_format"}.comment.format)
|
||||||
|
end
|
||||||
|
|
||||||
def util_get_class content, name = nil
|
def util_get_class content, name = nil
|
||||||
@parser = util_parser content
|
@parser = util_parser content
|
||||||
@parser.scan
|
@parser.scan
|
||||||
|
|
Loading…
Reference in a new issue