summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-03 03:18:52 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-03 03:18:52 +0000
commit41a73480c67bd04009e0841328b082632ceb51f7 (patch)
treea9cad938a6d11ef0e31fc4452d18f14e6a4157c1
parent24bcd4ce67f2e59b051a7224379b259484411790 (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@43967 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 bbc97e8f6f..481a2a3188 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Dec 3 12:17:59 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.
+
Tue Dec 3 10:43:58 2013 Eric Hodel <drbrain@segment7.net>
* ext/openssl/lib/openssl/buffering.rb: Return ASCII-8BIT strings from
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
##