From 00f4c13e22967de1d7e42085b2fc32bf6718f580 Mon Sep 17 00:00:00 2001 From: nagachika Date: Mon, 9 Dec 2019 12:25:34 +0000 Subject: merge revision(s) 7d805e67f3275aef066d77aa9c32bef715c362ed: [Backport #15780] Avoid triggering autoload in Module#const_defined?(String) [Bug #15780] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- object.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'object.c') diff --git a/object.c b/object.c index 7928592250..454d35790f 100644 --- a/object.c +++ b/object.c @@ -2698,16 +2698,19 @@ rb_mod_const_defined(int argc, VALUE *argv, VALUE mod) if (!RTEST(recur)) { if (!rb_const_defined_at(mod, id)) return Qfalse; + if (p == pend) return Qtrue; mod = rb_const_get_at(mod, id); } else if (beglen == 0) { if (!rb_const_defined(mod, id)) return Qfalse; + if (p == pend) return Qtrue; mod = rb_const_get(mod, id); } else { if (!rb_const_defined_from(mod, id)) return Qfalse; + if (p == pend) return Qtrue; mod = rb_const_get_from(mod, id); } #endif -- cgit v1.2.3