From: eregontp@... Date: 2017-05-30T09:58:41+00:00 Subject: [ruby-core:81465] [Ruby trunk Bug#12159] Thread::Backtrace::Location#path returns absolute path for files loaded by require_relative Issue #12159 has been updated by Eregon (Benoit Daloze). ko1 (Koichi Sasada) wrote: > Disadvantage is backtrace will be long for main script. This only applies to the main script, and none of the other files so I think it's worth the gain in consistency. Backtraces in anything but small script include more than one file anyway. #realpath sounds OK, although it seems to mix two different things at once. Is #realpath essentially (in terms of current methods): ~~~ ruby def realpath absolute_path && File.realpath(absolute_path) rescue nil end ~~~ If so I think it's not needed and the simpler proposal is better. ---------------------------------------- Bug #12159: Thread::Backtrace::Location#path returns absolute path for files loaded by require_relative https://bugs.ruby-lang.org/issues/12159#change-65174 * Author: tagomoris (Satoshi TAGOMORI) * Status: Assigned * Priority: Normal * Assignee: ko1 (Koichi Sasada) * Target version: * ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin14] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- I expected that Thread::Backtrace::Location#path always returns base filename, but returns absolute path for files loaded by require_relative. Is it intentional? or a bug? ~~~ $ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin14] $ cat > x.rb def a caller_locations end p a.first.path $ cat > y.rb require_relative "x" $ ruby x.rb "x.rb" $ ruby y.rb "/Users/tagomoris/x.rb" ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: