diff options
Diffstat (limited to 'load.c')
-rw-r--r-- | load.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -1014,7 +1014,6 @@ require_internal(rb_execution_context_t *ec, VALUE fname, int exception) result = 0; } else if (!*ftptr) { - rb_provide_feature(path); result = TAG_RETURN; } else { @@ -1029,7 +1028,6 @@ require_internal(rb_execution_context_t *ec, VALUE fname, int exception) rb_ary_push(ruby_dln_librefs, LONG2NUM(handle)); break; } - rb_provide_feature(path); result = TAG_RETURN; } } @@ -1063,6 +1061,7 @@ require_internal(rb_execution_context_t *ec, VALUE fname, int exception) rb_exc_raise(ec->errinfo); } + if (result == TAG_RETURN) rb_provide_feature(path); ec->errinfo = errinfo; RUBY_DTRACE_HOOK(REQUIRE_RETURN, RSTRING_PTR(fname)); |