
Issue #20920 has been updated by vo.x (Vit Ondruch). This is very related to #16978 And all this started with introduction of `require_relative` and it is a mess since then. IMHO, the path expansion is evil. It prevents usage of symlinks, it is troublesome with modifications of `$LOAD_PATH`, etc. ---------------------------------------- Bug #20920: When loading a file, __FILE__ gets relative paths expanded only when they start with "./" https://bugs.ruby-lang.org/issues/20920#change-110872 * Author: deivid (David RodrÃguez) * Status: Open * ruby -v: ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [arm64-darwin23] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- ``` $ cat foo.rb puts __FILE__ $ ruby foo.rb foo.rb $ ruby ./foo.rb ./foo.rb $ ruby -e 'load "foo.rb"' foo.rb $ ruby -e 'load "./foo.rb"' /full/path/to/foo.rb ``` More than an issue, this is mainly a question. In principle, it seems more consistent to me to either expand or not expand, but this is not causing real issues for me. I just want to figure out what to do with one pending spec in Bundler (https://github.com/rubygems/rubygems/blob/cd65092deb3168759820c613ecbc54cd9e...). -- https://bugs.ruby-lang.org/