Backport #4446
closedautoload failure with relative paths
Description
=begin
% cat foo.rb
module Foo
end
% cat run.rb
dir = File.dirname(File.expand_path(FILE))
$LOAD_PATH.unshift(dir + '/../' + File.basename(dir))
autoload :Foo, 'foo'
p Foo
% ruby -v run.rb
ruby 1.9.2p180 (2011-02-18 revision 30907) [i386-darwin9.8.0]
/Users/jlawrence/tmp/foo.rb:1: warning: loading in progress, circular require considered harmful - /Users/jlawrence/tmp/foo.rb
from run.rb:5:in <main>' from /Users/jlawrence/tmp/foo.rb:1:in
<top (required)>'
/Users/jlawrence/tmp/foo.rb:1:in <top (required)>': uninitialized constant Foo (NameError) from run.rb:5:in
'
Commit r30789 on trunk fixes this problem (with no conflicts).
=end
Updated by mame (Yusuke Endoh) almost 13 years ago
Hello,
This commit is suspected of big performance degradation of require.
See [ruby-core:36593].
--
Yusuke Endoh mame@tsg.ne.jp
Updated by yugui (Yuki Sonoda) almost 13 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100