[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]