From 55518710865bd7258422807524403c91347519a2 Mon Sep 17 00:00:00 2001 From: hsbt Date: Mon, 27 Nov 2017 10:45:24 +0000 Subject: Merge rdoc-6.0.0.beta4 from upstream. It version applied `frozen_string_literal: true` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rdoc/markup/attr_changer.rb | 2 +- lib/rdoc/markup/attr_span.rb | 2 +- lib/rdoc/markup/attribute_manager.rb | 4 +-- lib/rdoc/markup/attributes.rb | 2 +- lib/rdoc/markup/blank_line.rb | 2 +- lib/rdoc/markup/block_quote.rb | 2 +- lib/rdoc/markup/document.rb | 2 +- lib/rdoc/markup/formatter.rb | 2 +- lib/rdoc/markup/formatter_test_case.rb | 2 +- lib/rdoc/markup/hard_break.rb | 2 +- lib/rdoc/markup/heading.rb | 2 +- lib/rdoc/markup/include.rb | 2 +- lib/rdoc/markup/indented_paragraph.rb | 2 +- lib/rdoc/markup/inline.rb | 2 +- lib/rdoc/markup/list.rb | 2 +- lib/rdoc/markup/list_item.rb | 2 +- lib/rdoc/markup/paragraph.rb | 2 +- lib/rdoc/markup/parser.rb | 6 ++--- lib/rdoc/markup/pre_process.rb | 14 +++++++---- lib/rdoc/markup/raw.rb | 2 +- lib/rdoc/markup/rule.rb | 2 +- lib/rdoc/markup/special.rb | 2 +- lib/rdoc/markup/text_formatter_test_case.rb | 2 +- lib/rdoc/markup/to_ansi.rb | 2 +- lib/rdoc/markup/to_bs.rb | 2 +- lib/rdoc/markup/to_html.rb | 2 +- lib/rdoc/markup/to_html_crossref.rb | 2 +- lib/rdoc/markup/to_html_snippet.rb | 2 +- lib/rdoc/markup/to_joined_paragraph.rb | 38 +++++------------------------ lib/rdoc/markup/to_label.rb | 2 +- lib/rdoc/markup/to_markdown.rb | 2 +- lib/rdoc/markup/to_rdoc.rb | 2 +- lib/rdoc/markup/to_table_of_contents.rb | 2 +- lib/rdoc/markup/to_test.rb | 2 +- lib/rdoc/markup/to_tt_only.rb | 2 +- lib/rdoc/markup/verbatim.rb | 2 +- 36 files changed, 52 insertions(+), 74 deletions(-) (limited to 'lib/rdoc/markup') diff --git a/lib/rdoc/markup/attr_changer.rb b/lib/rdoc/markup/attr_changer.rb index 9a1a9c8c66..4c4bc6479e 100644 --- a/lib/rdoc/markup/attr_changer.rb +++ b/lib/rdoc/markup/attr_changer.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true class RDoc::Markup AttrChanger = Struct.new :turn_on, :turn_off # :nodoc: diff --git a/lib/rdoc/markup/attr_span.rb b/lib/rdoc/markup/attr_span.rb index 4d9e5b0217..63aace60d2 100644 --- a/lib/rdoc/markup/attr_span.rb +++ b/lib/rdoc/markup/attr_span.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # An array of attributes which parallels the characters in a string. diff --git a/lib/rdoc/markup/attribute_manager.rb b/lib/rdoc/markup/attribute_manager.rb index 3296d17af2..a10f731615 100644 --- a/lib/rdoc/markup/attribute_manager.rb +++ b/lib/rdoc/markup/attribute_manager.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Manages changes of attributes in a block of text @@ -246,7 +246,7 @@ class RDoc::Markup::AttributeManager # Processes +str+ converting attributes, HTML and specials def flow str - @str = str + @str = str.dup mask_protected_sequences diff --git a/lib/rdoc/markup/attributes.rb b/lib/rdoc/markup/attributes.rb index 8776c4ed29..ec30160d3d 100644 --- a/lib/rdoc/markup/attributes.rb +++ b/lib/rdoc/markup/attributes.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # We manage a set of attributes. Each attribute has a symbol name and a bit # value. diff --git a/lib/rdoc/markup/blank_line.rb b/lib/rdoc/markup/blank_line.rb index 2b1ab91b47..3129ab5e7f 100644 --- a/lib/rdoc/markup/blank_line.rb +++ b/lib/rdoc/markup/blank_line.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # An empty line. This class is a singleton. diff --git a/lib/rdoc/markup/block_quote.rb b/lib/rdoc/markup/block_quote.rb index 3be022f9dd..7a4b3e36b0 100644 --- a/lib/rdoc/markup/block_quote.rb +++ b/lib/rdoc/markup/block_quote.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A quoted section which contains markup items. diff --git a/lib/rdoc/markup/document.rb b/lib/rdoc/markup/document.rb index 0692c3522f..f3a5de1fc3 100644 --- a/lib/rdoc/markup/document.rb +++ b/lib/rdoc/markup/document.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A Document containing lists, headings, paragraphs, etc. diff --git a/lib/rdoc/markup/formatter.rb b/lib/rdoc/markup/formatter.rb index 197ff003e3..5dc71d2242 100644 --- a/lib/rdoc/markup/formatter.rb +++ b/lib/rdoc/markup/formatter.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Base class for RDoc markup formatters # diff --git a/lib/rdoc/markup/formatter_test_case.rb b/lib/rdoc/markup/formatter_test_case.rb index a5b4933de4..076b7c81bb 100644 --- a/lib/rdoc/markup/formatter_test_case.rb +++ b/lib/rdoc/markup/formatter_test_case.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true require 'minitest/unit' ## diff --git a/lib/rdoc/markup/hard_break.rb b/lib/rdoc/markup/hard_break.rb index 5898bfb644..046068d5c2 100644 --- a/lib/rdoc/markup/hard_break.rb +++ b/lib/rdoc/markup/hard_break.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A hard-break in the middle of a paragraph. diff --git a/lib/rdoc/markup/heading.rb b/lib/rdoc/markup/heading.rb index 5229287d5b..233774c5c4 100644 --- a/lib/rdoc/markup/heading.rb +++ b/lib/rdoc/markup/heading.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A heading with a level (1-6) and text diff --git a/lib/rdoc/markup/include.rb b/lib/rdoc/markup/include.rb index 891be71b85..ad7c4a9640 100644 --- a/lib/rdoc/markup/include.rb +++ b/lib/rdoc/markup/include.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A file included at generation time. Objects of this class are created by # RDoc::RD for an extension-less include. diff --git a/lib/rdoc/markup/indented_paragraph.rb b/lib/rdoc/markup/indented_paragraph.rb index 56a96bd3c9..d42b2e52b8 100644 --- a/lib/rdoc/markup/indented_paragraph.rb +++ b/lib/rdoc/markup/indented_paragraph.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # An Indented Paragraph of text diff --git a/lib/rdoc/markup/inline.rb b/lib/rdoc/markup/inline.rb index 58072fef06..aba7ec21ce 100644 --- a/lib/rdoc/markup/inline.rb +++ b/lib/rdoc/markup/inline.rb @@ -1,2 +1,2 @@ -# frozen_string_literal: false +# frozen_string_literal: true warn "requiring rdoc/markup/inline is deprecated and will be removed in RDoc 4." if $-w diff --git a/lib/rdoc/markup/list.rb b/lib/rdoc/markup/list.rb index bcaea7d7c1..05c3609202 100644 --- a/lib/rdoc/markup/list.rb +++ b/lib/rdoc/markup/list.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A List is a homogeneous set of ListItems. # diff --git a/lib/rdoc/markup/list_item.rb b/lib/rdoc/markup/list_item.rb index 115ec0412c..d22554ee73 100644 --- a/lib/rdoc/markup/list_item.rb +++ b/lib/rdoc/markup/list_item.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # An item within a List that contains paragraphs, headings, etc. # diff --git a/lib/rdoc/markup/paragraph.rb b/lib/rdoc/markup/paragraph.rb index fefa12f9ef..a2e45ef009 100644 --- a/lib/rdoc/markup/paragraph.rb +++ b/lib/rdoc/markup/paragraph.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A Paragraph of text diff --git a/lib/rdoc/markup/parser.rb b/lib/rdoc/markup/parser.rb index 22cca20420..f08587e676 100644 --- a/lib/rdoc/markup/parser.rb +++ b/lib/rdoc/markup/parser.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true require 'strscan' ## @@ -249,7 +249,7 @@ class RDoc::Markup::Parser min_indent = nil generate_leading_spaces = true - line = '' + line = ''.dup until @tokens.empty? do type, data, column, = get @@ -257,7 +257,7 @@ class RDoc::Markup::Parser if type == :NEWLINE then line << data verbatim << line - line = '' + line = ''.dup generate_leading_spaces = true next end diff --git a/lib/rdoc/markup/pre_process.rb b/lib/rdoc/markup/pre_process.rb index 6ce523be89..0ac7a41934 100644 --- a/lib/rdoc/markup/pre_process.rb +++ b/lib/rdoc/markup/pre_process.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Handle common directives that can occur in a block of text: # @@ -105,7 +105,7 @@ class RDoc::Markup::PreProcess # regexp helper (square brackets for optional) # $1 $2 $3 $4 $5 # [prefix][\]:directive:[spaces][param]newline - text.gsub!(/^([ \t]*(?:#|\/?\*)?[ \t]*)(\\?):(\w+):([ \t]*)(.+)?(\r?\n|$)/) do + text = text.gsub(/^([ \t]*(?:#|\/?\*)?[ \t]*)(\\?):(\w+):([ \t]*)(.+)?(\r?\n|$)/) do # skip something like ':toto::' next $& if $4.empty? and $5 and $5[0, 1] == ':' @@ -123,7 +123,11 @@ class RDoc::Markup::PreProcess handle_directive $1, $3, $5, code_object, text.encoding, &block end - comment = text unless comment + if comment then + comment.text = text + else + comment = text + end self.class.post_processors.each do |handler| handler.call comment, code_object @@ -150,7 +154,7 @@ class RDoc::Markup::PreProcess case directive when 'arg', 'args' then - return "#{prefix}:#{directive}: #{param}\n" unless code_object + return "#{prefix}:#{directive}: #{param}\n" unless code_object && code_object.kind_of?(RDoc::AnyMethod) code_object.params = param @@ -212,7 +216,7 @@ class RDoc::Markup::PreProcess when 'yield', 'yields' then return blankline unless code_object # remove parameter &block - code_object.params.sub!(/,?\s*&\w+/, '') if code_object.params + code_object.params = code_object.params.sub(/,?\s*&\w+/, '') if code_object.params code_object.block_params = param diff --git a/lib/rdoc/markup/raw.rb b/lib/rdoc/markup/raw.rb index 8012d2cea6..85e2c8b825 100644 --- a/lib/rdoc/markup/raw.rb +++ b/lib/rdoc/markup/raw.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A section of text that is added to the output document as-is diff --git a/lib/rdoc/markup/rule.rb b/lib/rdoc/markup/rule.rb index b96d4fb293..38c1dc7f56 100644 --- a/lib/rdoc/markup/rule.rb +++ b/lib/rdoc/markup/rule.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A horizontal rule with a weight diff --git a/lib/rdoc/markup/special.rb b/lib/rdoc/markup/special.rb index 4d834b9e37..57261b44a7 100644 --- a/lib/rdoc/markup/special.rb +++ b/lib/rdoc/markup/special.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Hold details of a special sequence diff --git a/lib/rdoc/markup/text_formatter_test_case.rb b/lib/rdoc/markup/text_formatter_test_case.rb index 1c8882aa36..22a762b5f0 100644 --- a/lib/rdoc/markup/text_formatter_test_case.rb +++ b/lib/rdoc/markup/text_formatter_test_case.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Test case for creating new plain-text RDoc::Markup formatters. See also # RDoc::Markup::FormatterTestCase diff --git a/lib/rdoc/markup/to_ansi.rb b/lib/rdoc/markup/to_ansi.rb index 56cd1fe446..6cc3b70e93 100644 --- a/lib/rdoc/markup/to_ansi.rb +++ b/lib/rdoc/markup/to_ansi.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Outputs RDoc markup with vibrant ANSI color! diff --git a/lib/rdoc/markup/to_bs.rb b/lib/rdoc/markup/to_bs.rb index 9a1c7c6ccd..fea017e89d 100644 --- a/lib/rdoc/markup/to_bs.rb +++ b/lib/rdoc/markup/to_bs.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Outputs RDoc markup with hot backspace action! You will probably need a # pager to use this output format. diff --git a/lib/rdoc/markup/to_html.rb b/lib/rdoc/markup/to_html.rb index d2c9a23a79..c5e1f073f8 100644 --- a/lib/rdoc/markup/to_html.rb +++ b/lib/rdoc/markup/to_html.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true require 'cgi' ## diff --git a/lib/rdoc/markup/to_html_crossref.rb b/lib/rdoc/markup/to_html_crossref.rb index 3f03c65898..2911aee954 100644 --- a/lib/rdoc/markup/to_html_crossref.rb +++ b/lib/rdoc/markup/to_html_crossref.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Subclass of the RDoc::Markup::ToHtml class that supports looking up method # names, classes, etc to create links. RDoc::CrossReference is used to diff --git a/lib/rdoc/markup/to_html_snippet.rb b/lib/rdoc/markup/to_html_snippet.rb index 75c1df94d9..24aa1d32d9 100644 --- a/lib/rdoc/markup/to_html_snippet.rb +++ b/lib/rdoc/markup/to_html_snippet.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Outputs RDoc markup as paragraphs with inline markup only. diff --git a/lib/rdoc/markup/to_joined_paragraph.rb b/lib/rdoc/markup/to_joined_paragraph.rb index 293258c092..795f3f62ee 100644 --- a/lib/rdoc/markup/to_joined_paragraph.rb +++ b/lib/rdoc/markup/to_joined_paragraph.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Joins the parts of an RDoc::Markup::Paragraph into a single String. # @@ -23,37 +23,11 @@ class RDoc::Markup::ToJoinedParagraph < RDoc::Markup::Formatter # Converts the parts of +paragraph+ to a single entry. def accept_paragraph paragraph - parts = [] - string = false - - paragraph.parts.each do |part| - if String === part then - if string then - string << part - else - parts << part - string = part - end - else - parts << part - string = false - end - end - - parts = parts.map do |part| - if String === part then - part.rstrip - else - part - end - end - - # TODO use Enumerable#chunk when Ruby 1.8 support is dropped - #parts = paragraph.parts.chunk do |part| - # String === part - #end.map do |string, chunk| - # string ? chunk.join.rstrip : chunk - #end.flatten + parts = paragraph.parts.chunk do |part| + String === part + end.map do |string, chunk| + string ? chunk.join.rstrip : chunk + end.flatten paragraph.parts.replace parts end diff --git a/lib/rdoc/markup/to_label.rb b/lib/rdoc/markup/to_label.rb index bdf08b7aee..9f179013f2 100644 --- a/lib/rdoc/markup/to_label.rb +++ b/lib/rdoc/markup/to_label.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true require 'cgi' ## diff --git a/lib/rdoc/markup/to_markdown.rb b/lib/rdoc/markup/to_markdown.rb index 9074547b4c..d471032f9f 100644 --- a/lib/rdoc/markup/to_markdown.rb +++ b/lib/rdoc/markup/to_markdown.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true # :markup: markdown ## diff --git a/lib/rdoc/markup/to_rdoc.rb b/lib/rdoc/markup/to_rdoc.rb index a40c09859f..1cb4d6bab2 100644 --- a/lib/rdoc/markup/to_rdoc.rb +++ b/lib/rdoc/markup/to_rdoc.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Outputs RDoc markup as RDoc markup! (mostly) diff --git a/lib/rdoc/markup/to_table_of_contents.rb b/lib/rdoc/markup/to_table_of_contents.rb index eae7c59d94..f68b90bcf6 100644 --- a/lib/rdoc/markup/to_table_of_contents.rb +++ b/lib/rdoc/markup/to_table_of_contents.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Extracts just the RDoc::Markup::Heading elements from a # RDoc::Markup::Document to help build a table of contents diff --git a/lib/rdoc/markup/to_test.rb b/lib/rdoc/markup/to_test.rb index 7b1fa8c630..61d3cffaf0 100644 --- a/lib/rdoc/markup/to_test.rb +++ b/lib/rdoc/markup/to_test.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # This Markup outputter is used for testing purposes. diff --git a/lib/rdoc/markup/to_tt_only.rb b/lib/rdoc/markup/to_tt_only.rb index ba20fcdd00..4f43546e3d 100644 --- a/lib/rdoc/markup/to_tt_only.rb +++ b/lib/rdoc/markup/to_tt_only.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # Extracts sections of text enclosed in plus, tt or code. Used to discover # undocumented parameters. diff --git a/lib/rdoc/markup/verbatim.rb b/lib/rdoc/markup/verbatim.rb index a0b1d05928..7f1bc29a09 100644 --- a/lib/rdoc/markup/verbatim.rb +++ b/lib/rdoc/markup/verbatim.rb @@ -1,4 +1,4 @@ -# frozen_string_literal: false +# frozen_string_literal: true ## # A section of verbatim text -- cgit v1.2.3