summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-19 16:39:07 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-19 16:39:07 +0000
commit1eac0b55c96c2b5b98748a36ee630ef6a12b2fdb (patch)
tree15a78b1ae8019003d8e890ea89388f9722987934
parent372eefab52381471f52cc5dd6e2567d6a3a6fca7 (diff)
rdoc/constant.rb: reapply r43006 for workaround of NoMethodError
* lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for NoMethodError when the original of alias is not found. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/rdoc/constant.rb10
2 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 38385a1b60..815d8aa611 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Nov 20 01:39:02 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for
+ NoMethodError when the original of alias is not found.
+
Wed Nov 20 01:27:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/delegate.rb (Delegator#send): separate from method_missing so
diff --git a/lib/rdoc/constant.rb b/lib/rdoc/constant.rb
index 48b32aaf98..97985cbf99 100644
--- a/lib/rdoc/constant.rb
+++ b/lib/rdoc/constant.rb
@@ -63,7 +63,15 @@ class RDoc::Constant < RDoc::CodeObject
# for a documented class or module.
def documented?
- super or is_alias_for && is_alias_for.documented?
+ return true if super
+ return false unless @is_alias_for
+ case @is_alias_for
+ when String then
+ found = @store.find_class_or_module @is_alias_for
+ return false unless found
+ @is_alias_for = found
+ end
+ @is_alias_for.documented?
end
##