Skip to content

Commit

Permalink
[Truffle] Try to clarify control flow in Kernel#load.
Browse files Browse the repository at this point in the history
  • Loading branch information
eregon committed May 2, 2016
1 parent b940941 commit 317099c
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions truffle/src/main/ruby/core/rubinius/common/kernel.rb
Original file line number Diff line number Diff line change
@@ -536,13 +536,18 @@ def load(filename, wrap = false)
return Truffle::Kernel.load File.expand_path(filename), wrap
end

# try relative
# if path starts with . only try relative paths
if filename.start_with? '.'
return Truffle::Kernel.load File.expand_path(File.join(Dir.pwd, filename)), wrap
return Truffle::Kernel.load File.expand_path(filename), wrap
end

# try to resolve with current working directory
if File.exist? filename
return Truffle::Kernel.load File.expand_path(filename), wrap
end

# try to find relative path in $LOAD_PATH
[Dir.pwd, *$LOAD_PATH].each do |dir|
$LOAD_PATH.each do |dir|
path = File.expand_path(File.join(dir, filename))
if File.exist? path
return Truffle::Kernel.load path, wrap

0 comments on commit 317099c

Please sign in to comment.