summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 02:46:51 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 02:46:51 +0000
commitc64c48ff32ae3e170d77d8eb37ad3f1788e3b440 (patch)
tree75b39104173e4c76eacdee893ab21c0aba6d9be7 /ext
parent913747d1faeafdd0870b059e4f942b0cc4c1e33d (diff)
* ext/digest/lib/digest.rb (Digest::self.const_missing): avoid
infinite recursive const_missing call. [ruby-talk:262193] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@13206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/digest/lib/digest.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/digest/lib/digest.rb b/ext/digest/lib/digest.rb
index 244cd436b3..0c4ee3c2cc 100644
--- a/ext/digest/lib/digest.rb
+++ b/ext/digest/lib/digest.rb
@@ -12,9 +12,11 @@ module Digest
begin
require lib
rescue LoadError => e
- raise LoadError, "library not found for class Digest::#{name} -- #{lib}"
+ raise LoadError, "library not found for class Digest::#{name} -- #{lib}", caller(1)
+ end
+ unless Digest.const_defined?(name)
+ raise NameError, "uninitialized constant Digest::#{name}", caller(1)
end
-
Digest.const_get(name)
end