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
|
||||
@singleton_classes = load_variable_map :c_singleton_class_variables
|
||||
|
||||
@markup = @options.markup
|
||||
|
||||
# class_variable => { function => [method, ...] }
|
||||
@methods = Hash.new { |h, f| h[f] = Hash.new { |i, m| i[m] = [] } }
|
||||
|
||||
|
@ -1223,6 +1225,8 @@ class RDoc::Parser::C < RDoc::Parser
|
|||
end
|
||||
|
||||
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
|
||||
|
|
|
@ -1946,6 +1946,23 @@ void Init_Blah(void) {
|
|||
assert_equal("rdoc", klass.attributes.find {|a| a.name == "default_format"}.comment.format)
|
||||
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
|
||||
@parser = util_parser content
|
||||
@parser.scan
|
||||
|
|
Loading…
Reference in a new issue