From 41a73480c67bd04009e0841328b082632ceb51f7 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 3 Dec 2013 03:18:52 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ lib/rdoc/constant.rb | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) 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 + + * 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 * 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 ##