Project

General

Profile

Actions

Bug #11155

closed

Files named 'b' cannot be autoloaded

Bug #11155: Files named 'b' cannot be autoloaded

Added by tenderlovemaking (Aaron Patterson) over 10 years ago. Updated over 10 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-05-14 trunk 50494) [x86_64-darwin14]
[ruby-core:69206]

Description

I have two files:

a.rb

module A
  autoload :C, 'b'
end

p ::A::C

b.rb

puts "START"
module A
  class C
  end
end
puts "FINISH"

When I run a.rb, I get an exception:

[aaron@TC xxx (master)]$ ruby --disable-gems -I. a.rb 
START
/Users/aaron/git/xxx/b.rb:3:in `<module:A>': uninitialized constant A::C (NameError)
	from /Users/aaron/git/xxx/b.rb:2:in `<top (required)>'
	from a.rb:5:in `require'
	from a.rb:5:in `<main>'
[aaron@TC xxx (master)]$

If I change the file to something else, like c, then the exception will not happen. This seems to break on every version that implements autoload.

Updated by Anonymous over 10 years ago Actions #1

  • Status changed from Open to Closed

Applied in changeset r50515.


  • load.c (loaded_feature_path): stop returning false negatives for
    filenames which are trailing substrings of file extensions. For
    example, 'b', which a trailing substring of ".rb" should not return
    false. [Bug #11155][ruby-core:69206]

  • test/ruby/test_autoload.rb: test for fix

Updated by nobu (Nobuyoshi Nakada) over 10 years ago Actions #2

  • Description updated (diff)
  • Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED

Updated by usa (Usaku NAKAMURA) over 10 years ago Actions #3 [ruby-core:69497]

  • Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE, 2.2: REQUIRED

ruby_2_1 r50805 merged revision(s) 50515.

Updated by nagachika (Tomoyuki Chikanaga) over 10 years ago Actions #4 [ruby-core:69525]

  • Backport changed from 2.0.0: REQUIRED, 2.1: DONE, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE, 2.2: DONE

Backported into ruby_2_2 branch at r50835.

Actions

Also available in: PDF Atom