ruby-changes:71157
From: Ulysse <ko1@a...>
Date: Sat, 12 Feb 2022 15:12:51 +0900 (JST)
Subject: [ruby-changes:71157] 5348a34504 (master): [ruby/rdoc] Relative loading for easier development (https://github.com/ruby/rdoc/pull/821)
https://git.ruby-lang.org/ruby.git/commit/?id=5348a34504 From 5348a34504a67597e3a3ed98a3020dfd762241ad Mon Sep 17 00:00:00 2001 From: Ulysse Buonomo <buonomo.ulysse@g...> Date: Thu, 10 Feb 2022 03:31:06 +0100 Subject: [ruby/rdoc] Relative loading for easier development (https://github.com/ruby/rdoc/pull/821) This patch makes sure we only load relative code. Hence when coding or testing rdoc, we'll be sure to always be using the correct code. Discussion started at https://github.com/ruby/rdoc/pull/817. Signed-off-by: Ulysse Buonomo <buonomo.ulysse@g...> https://github.com/ruby/rdoc/commit/aa41bd48eb Co-authored-by: Nobuyoshi Nakada <nobu@r...> --- lib/rdoc.rb | 92 +++++++++++++------------- lib/rdoc/code_objects.rb | 3 +- lib/rdoc/context.rb | 2 +- lib/rdoc/generator.rb | 10 +-- lib/rdoc/i18n.rb | 2 +- lib/rdoc/markdown.rb | 40 +++++++---- lib/rdoc/markup.rb | 67 +++++++++---------- lib/rdoc/parser.rb | 4 +- lib/rdoc/rd.rb | 7 +- lib/rdoc/rdoc.rb | 2 +- lib/rdoc/ri.rb | 9 ++- lib/rdoc/ri/driver.rb | 2 +- lib/rdoc/rubygems_hook.rb | 2 +- lib/rdoc/servlet.rb | 2 +- lib/rdoc/stats.rb | 7 +- lib/rdoc/task.rb | 2 +- lib/rdoc/version.rb | 2 + libexec/rdoc | 1 - test/rdoc/helper.rb | 6 +- test/rdoc/support/test_case.rb | 2 +- test/rdoc/test_rdoc_alias.rb | 3 +- test/rdoc/test_rdoc_any_method.rb | 2 +- test/rdoc/test_rdoc_class_module.rb | 3 +- test/rdoc/test_rdoc_code_object.rb | 2 +- test/rdoc/test_rdoc_constant.rb | 2 +- test/rdoc/test_rdoc_context.rb | 2 +- test/rdoc/test_rdoc_cross_reference.rb | 3 +- test/rdoc/test_rdoc_extend.rb | 3 +- test/rdoc/test_rdoc_include.rb | 3 +- test/rdoc/test_rdoc_markdown.rb | 5 +- test/rdoc/test_rdoc_markdown_test.rb | 4 +- test/rdoc/test_rdoc_markup_to_html_crossref.rb | 3 +- test/rdoc/test_rdoc_method_attr.rb | 3 +- test/rdoc/test_rdoc_normal_class.rb | 3 +- test/rdoc/test_rdoc_normal_module.rb | 3 +- test/rdoc/test_rdoc_require.rb | 3 +- test/rdoc/test_rdoc_ri_driver.rb | 4 +- test/rdoc/test_rdoc_rubygems_hook.rb | 10 +-- test/rdoc/test_rdoc_store.rb | 2 +- test/rdoc/test_rdoc_task.rb | 1 - test/rdoc/test_rdoc_top_level.rb | 3 +- 41 files changed, 165 insertions(+), 166 deletions(-) diff --git a/lib/rdoc.rb b/lib/rdoc.rb index 2d3f8c1122..b62c22576d 100644 --- a/lib/rdoc.rb +++ b/lib/rdoc.rb @@ -62,7 +62,7 @@ module RDoc https://github.com/ruby/ruby/blob/trunk/lib/rdoc.rb#L62 class Error < RuntimeError; end - require 'rdoc/version' + require_relative 'rdoc/version' ## # Method visibilities @@ -141,61 +141,61 @@ module RDoc https://github.com/ruby/ruby/blob/trunk/lib/rdoc.rb#L141 end end - autoload :RDoc, 'rdoc/rdoc' + autoload :RDoc, "#{__dir__}/rdoc/rdoc" - autoload :CrossReference, 'rdoc/cross_reference' - autoload :ERBIO, 'rdoc/erbio' - autoload :ERBPartial, 'rdoc/erb_partial' - autoload :Encoding, 'rdoc/encoding' - autoload :Generator, 'rdoc/generator' - autoload :Options, 'rdoc/options' - autoload :Parser, 'rdoc/parser' - autoload :Servlet, 'rdoc/servlet' - autoload :RI, 'rdoc/ri' - autoload :Stats, 'rdoc/stats' - autoload :Store, 'rdoc/store' - autoload :Task, 'rdoc/task' - autoload :Text, 'rdoc/text' + autoload :CrossReference, "#{__dir__}/rdoc/cross_reference" + autoload :ERBIO, "#{__dir__}/rdoc/erbio" + autoload :ERBPartial, "#{__dir__}/rdoc/erb_partial" + autoload :Encoding, "#{__dir__}/rdoc/encoding" + autoload :Generator, "#{__dir__}/rdoc/generator" + autoload :Options, "#{__dir__}/rdoc/options" + autoload :Parser, "#{__dir__}/rdoc/parser" + autoload :Servlet, "#{__dir__}/rdoc/servlet" + autoload :RI, "#{__dir__}/rdoc/ri" + autoload :Stats, "#{__dir__}/rdoc/stats" + autoload :Store, "#{__dir__}/rdoc/store" + autoload :Task, "#{__dir__}/rdoc/task" + autoload :Text, "#{__dir__}/rdoc/text" - autoload :Markdown, 'rdoc/markdown' - autoload :Markup, 'rdoc/markup' - autoload :RD, 'rdoc/rd' - autoload :TomDoc, 'rdoc/tom_doc' + autoload :Markdown, "#{__dir__}/rdoc/markdown" + autoload :Markup, "#{__dir__}/rdoc/markup" + autoload :RD, "#{__dir__}/rdoc/rd" + autoload :TomDoc, "#{__dir__}/rdoc/tom_doc" - autoload :KNOWN_CLASSES, 'rdoc/known_classes' + autoload :KNOWN_CLASSES, "#{__dir__}/rdoc/known_classes" - autoload :TokenStream, 'rdoc/token_stream' + autoload :TokenStream, "#{__dir__}/rdoc/token_stream" - autoload :Comment, 'rdoc/comment' + autoload :Comment, "#{__dir__}/rdoc/comment" - require 'rdoc/i18n' + require_relative 'rdoc/i18n' # code objects # # We represent the various high-level code constructs that appear in Ruby # programs: classes, modules, methods, and so on. - autoload :CodeObject, 'rdoc/code_object' - - autoload :Context, 'rdoc/context' - autoload :TopLevel, 'rdoc/top_level' - - autoload :AnonClass, 'rdoc/anon_class' - autoload :ClassModule, 'rdoc/class_module' - autoload :NormalClass, 'rdoc/normal_class' - autoload :NormalModule, 'rdoc/normal_module' - autoload :SingleClass, 'rdoc/single_class' - - autoload :Alias, 'rdoc/alias' - autoload :AnyMethod, 'rdoc/any_method' - autoload :MethodAttr, 'rdoc/method_attr' - autoload :GhostMethod, 'rdoc/ghost_method' - autoload :MetaMethod, 'rdoc/meta_method' - autoload :Attr, 'rdoc/attr' - - autoload :Constant, 'rdoc/constant' - autoload :Mixin, 'rdoc/mixin' - autoload :Include, 'rdoc/include' - autoload :Extend, 'rdoc/extend' - autoload :Require, 'rdoc/require' + autoload :CodeObject, "#{__dir__}/rdoc/code_object" + + autoload :Context, "#{__dir__}/rdoc/context" + autoload :TopLevel, "#{__dir__}/rdoc/top_level" + + autoload :AnonClass, "#{__dir__}/rdoc/anon_class" + autoload :ClassModule, "#{__dir__}/rdoc/class_module" + autoload :NormalClass, "#{__dir__}/rdoc/normal_class" + autoload :NormalModule, "#{__dir__}/rdoc/normal_module" + autoload :SingleClass, "#{__dir__}/rdoc/single_class" + + autoload :Alias, "#{__dir__}/rdoc/alias" + autoload :AnyMethod, "#{__dir__}/rdoc/any_method" + autoload :MethodAttr, "#{__dir__}/rdoc/method_attr" + autoload :GhostMethod, "#{__dir__}/rdoc/ghost_method" + autoload :MetaMethod, "#{__dir__}/rdoc/meta_method" + autoload :Attr, "#{__dir__}/rdoc/attr" + + autoload :Constant, "#{__dir__}/rdoc/constant" + autoload :Mixin, "#{__dir__}/rdoc/mixin" + autoload :Include, "#{__dir__}/rdoc/include" + autoload :Extend, "#{__dir__}/rdoc/extend" + autoload :Require, "#{__dir__}/rdoc/require" end diff --git a/lib/rdoc/code_objects.rb b/lib/rdoc/code_objects.rb index 434a25ac7f..d5f2f920ad 100644 --- a/lib/rdoc/code_objects.rb +++ b/lib/rdoc/code_objects.rb @@ -2,5 +2,4 @@ https://github.com/ruby/ruby/blob/trunk/lib/rdoc/code_objects.rb#L2 # This file was used to load all the RDoc::CodeObject subclasses at once. Now # autoload handles this. -require 'rdoc' - +require_relative '../rdoc' diff --git a/lib/rdoc/context.rb b/lib/rdoc/context.rb index b3caa53aa1..8e15697034 100644 --- a/lib/rdoc/context.rb +++ b/lib/rdoc/context.rb @@ -1261,6 +1261,6 @@ class RDoc::Context < RDoc::CodeObject https://github.com/ruby/ruby/blob/trunk/lib/rdoc/context.rb#L1261 klass end - autoload :Section, 'rdoc/context/section' + autoload :Section, "#{__dir__}/context/section" end diff --git a/lib/rdoc/generator.rb b/lib/rdoc/generator.rb index 340dcbf7ae..a769cf8ac0 100644 --- a/lib/rdoc/generator.rb +++ b/lib/rdoc/generator.rb @@ -41,11 +41,11 @@ https://github.com/ruby/ruby/blob/trunk/lib/rdoc/generator.rb#L41 module RDoc::Generator - autoload :Markup, 'rdoc/generator/markup' + autoload :Markup, "#{__dir__}/generator/markup" - autoload :Darkfish, 'rdoc/generator/darkfish' - autoload :JsonIndex, 'rdoc/generator/json_index' - autoload :RI, 'rdoc/generator/ri' - autoload :POT, 'rdoc/generator/pot' + autoload :Darkfish, "#{__dir__}/generator/darkfish" + autoload :JsonIndex, "#{__dir__}/generator/json_index" + autoload :RI, "#{__dir__}/generator/ri" + autoload :POT, "#{__dir__}/generator/pot" end diff --git a/lib/rdoc/i18n.rb b/lib/rdoc/i18n.rb index a32fd848a0..f209a9a6f6 100644 --- a/lib/rdoc/i18n.rb +++ b/lib/rdoc/i18n.rb @@ -4,7 +4,7 @@ https://github.com/ruby/ruby/blob/trunk/lib/rdoc/i18n.rb#L4 module RDoc::I18n - autoload :Locale, 'rdoc/i18n/locale' + autoload :Locale, "#{__dir__}/i18n/locale" require_relative 'i18n/text' end diff --git a/lib/rdoc/markdown.rb b/lib/rdoc/markdown.rb index c10ad2fb14..25a7217d3c 100644 --- a/lib/rdoc/markdown.rb +++ b/lib/rdoc/markdown.rb @@ -199,6 +199,7 @@ class RDoc::Markdown https://github.com/ruby/ruby/blob/trunk/lib/rdoc/markdown.rb#L199 @result = nil @failed_rule = nil @failing_rule_of (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/